Shelve is currently sub-contracting some of its work to the rebase extension.
In order to make shelve more independent and flexible we would like shelve to
handle the parent alignment directly.
This change starts with the simplest bits, handling the abort process. It
turns out we have all the necessary bits in the shelvestate file. So we do
not need anything from the interrupted rebase.
As a nice side effect, a test about missing shelverebasestate state file now
behave better.