This adds interactive option to uncommit . Part of this code has been
imported from evolve from commit hash da2fdaa3d97c. The basic
functionality of the code lies in _interactiveuncommit(). It first uncommits
everything then performs action similar to interactive amend .
The current implementation is not perfect and might result in Hunk Failed.
at some point.