Until now, shelve used to abort on trying to shelve a mergestate.
This patch adds an --unresolved flag to shelve and use the changeset
extras to store the mergestate.
After shelving, and the working directory is updated to p1().
hg shelve will abort when:
- No merge is active on calling with --unresolved.
- No unresolved files found in active merge on calling with --unresolved.
- Merge is active on calling without --unresolved.