unshelve: clear shelvedstate and _finishunshelve() on partial unshelve
On a partial unshelve, shelvedstate was not cleared and _finishunshelve()
was not called. Ideally, these should be called on this case. This patch makes
shelvedstate to delete after a successful partial unshelve and calls
_finishunshelve() in the same case.
Differential Revision: https://phab.mercurial-scm.org/D6708