Sync with upstream patches.

Synced all interesting and usable upstream patches and fixed
any merge conflicts and changes needed to fit in the new world.

Fixes #47: Sync with upstream [6decfe0792db538aa18cb07b2d06aba075e08bf5]
Allow slash in volume names

In the past, I have had problems with restores failing due to the device
for differential volumes can't find the volumes stored by the incremental.

I also have not been quite satisfied with having all the files in one
large directory without a structure, e.g., when I have different
retention policy for some volumes.

My fix is quite simple: add '/' to the list of acceptable characters in
a volume name.  this allows me to specify the same Archive Device for
all the file media devices, and do the separation with Label Format like
"incr/Incr-". Restore is unproblematic in this setup, since any Device
can be used to access all the volumes (even if they are actually in
different filesystems, due to the structure of my mounts).

Signed-off-by: Marco van Wieringen <mvw@planets.elm.net>
Sync with upstream patches.

Synced all interesting and usable upstream patches and fixed
any merge conflicts and changes needed to fit in the new world.

Fixes #48: Sync with upstream [6fb68c99664f6cbdf7e51515635da0e7471cfb20]