Restructure script into modules

And rename script-snap-layers to script-snaplayers
Move example files to examples directory
Rework params for modules

Restructure Params object, making the option parser a class attribute
so that layer modules can add custom Amanda config params.
Allow log file location customization
Give layer modules ability to set required/interesting params
Add snaplayers_state_file option to amanda.conf
Register xenserver layer conditionally
Move Snapper class into layer_lv module
Move generic snapshot code from LV to SnapLayer class

Proper snapshot subclassing

Sets the stage for the RBD layer
Fix missing imports in util.py
Use layer class 'name' attribute for registration
Add amanda.conf snap_suffix param
Fix partition mounting

- Rename Mount class to MountPartition
- device_partition method returns name of device
  - avoid needing to know about other layer classes
- Add extra 'Mount' class to help Stack know what's on top
noop:  cosmetic fixes
Make 'params' a Layer class attribute
add Layer.args property for convenience
layers:  commit forgotten state_file param name change
Add RBD snaps (incomplete)

Still needs RBD snap clones
Update comments in script-snaplayers
noop: stack.py formatting