incorporate_user_merge(): do some more of the work within function

* unblock the commit

* report what has been done.
incorporate_user_merge(): Don't return unblocked_block.

The callers don't need it anymore.
incorporate_user_merge(): save the merge_state *after* unblocking

Previously, if the very last merge of an imerge was done manually, the
removal of that merge from the list of blockers was never stored to
the imerge state in the repo, resulting in confusion.  So save the
merge state at the end of incorporate_user_merge(), *after* the user
merge has been removed from the blocker list.

Problem reported by: Ralf Thielow <ralf.thielow@gmail.com>
Merge branch 'save-final-merge'

Fix a problem that if the very last merge conflicted, the state wasn't
being updated correctly.