Support for Stacker/Jukebox/Multiple Drives

Situation

  The backup system currently has little support for gravity feed
  stackers, and none for jukeboxes.

Implementation

  The gravity stacker support, though primitive, is usable.  The basic
  idea was to add support for a "scavange" mode in all-backups that
  causes it to search for a free or promised "*" tape in the stacker
  instead of looking for a free tape in the tape library.  The only
  refinement that I'd like to see is to be able to identify drives as
  stackers and define things like the time delay for changing tapes
  and the number of tapes that each drive holds.

  For jukeboxes (which I'll define here as a random access device,
  where you can tell it to mount tape XX in drive YY), there's no
  support at all.  

  It seems to me that we'd need to define different types of drives,
  and then associate these definitions with specific devices.  We'd
  also need to identify tape carosel, which could be shared by several
  drives.  We need a way to note that tape X is in carosel Y (probably
  using tape locations?).  And finally, we need a generic library for
  manipulating a jukebox (unload_carousel, load_carousel, load_tape,
  unload_tape and so on).  

  How would we change all-backups and getback to deal with jukeboxes
  more effectively?  all-backups could select free tapes from among
  the tapes already loaded in the jukebox.  getback could
  automatically switch to new tapes when doing restores.  With eot
  support all-backups and getback could rollover to new tapes.
