* Shelving of committed changes. Three modes (config option?), either uncommit
the committed changes (changing history) or apply the inverse diff (messy,
but not so scary), or prompt.
* shelf commands that operate on the shelved patches should assume the top
most (highest numbered) patch if no argument is given, eg. show/del.
* shelf del should create backups.
* Interact with bzr at a lower level, ie. not by parsing diffs. Will probably
require changes to bzr core, or can we just use a delta object directly?
* Write tests for --pick !!!