implemented new tardis.filesystems as dict

filesystem plugins now in tardis.fsplugins
tardis.fsplugin.load_plugins() is now used to load
into tardis.filesystems
refacored logging
re-factored tardis.fsplugins.load_plugins()

Only run imports once on import of tardis.fsplugins.

All runs of load_plugins() just instantiates the enabled plugins
Multiple additions:

added new tardis.env namespace for config variables

created tardis.new_cli entry points

re-factored snapshot code
Moved tardis.new_cli to tardis.cli
Changes to get_dataset() support in btrfs

get_dataset() no longer takes 'root' argument

btrfs.get_dataset() now selects appropriate mounted datasets by first
trying to find the 'default' subvolume if it is mounted, otherwise
accumulating all mounted datasets
removed extraneous Exception from btrfs.get_datasets()
changed Filesystem.get_config() signature

get_config() no longer accepts filesystem argument
get_config() no longer accepts a filesystem argument
removed unused import
added linux platform check to btrfs.is_enabled()
Merge pull request #1 from gclawes/pythonic

Pythonic rebase