Add --graft and --regraft support to bup-index and bup-save

--graft enables the user to map real paths to specific logical paths
inside bup's archive.

--regraft enables changing the real path mappings without removing
existing index state (or rewriting the index).

Internally the bupindex now stores the representation of the logical bup
filesystem as the user intends it. A .grafts file stores the real paths
necessary to recover the original filenames.

bup-save now operates on logical bup repository paths rather than
literal paths.

Signed-off-by: Will Rouesnel <w.rouesnel@gmail.com>