Reworking the way some things work. This commit breaks everything.
Next gen features...
Some code refactor. Docstrings.
Some more refactoring. S3GlacierTransport now uses S3 to store ArchiveIDs.
Changed path naming scheme for LocalTransport
Handle failure better when reading manifest. Display info about compression.
Catch socket.gaierror in more places.
Added read/write config to transports.
More iterations for PBKDF2. Fixed retention code.
Add support for "dirty" backups where redundancy requirement is not met

Code clean up
Add .gitignore
Merge pull request #1 from sharph/feature/dirty-backups

Add support for "dirty" backups where redundancy requirement is not met
Add sqlite backend

Fix typo in backup.py
Add support to split sqlite among many files

Change sqlite key to raw hash
Add index to sqlite db
Merge pull request #2 from sharph/feature/sqlite

Add sqlite backend
Add travis test

Make snap_tree respect root
Add requirements.txt
Make test files after directory is created
Merge pull request #3 from sharph/feature/travis

Feature/travis
Move transports into separate files
Merge pull request #4 from sharph/feature/seperate-transports

Move transports into separate files