FEATURES

 * 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.

INTERNAL CRUD

 * 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 !!!
