Part way through database refactor into classes

Initial refactor done, but still need to get all the tests running etc.

The idea is to make database objects that contain password etc, rather
than having the password in a global dictionary.
tasklib db tests now passing after refactor
Line length changes
Add SqliteManager to tasklib/database
Use common db manager interface in django code

And do a couple of other bits of clean up
Don't have tasklib/__init__ import from tasklib/database

database now has classes intended for use by internal stuff.
db_table_exists() -> test_db_table_exists()

clearer semantics
Merge branch 'develop' into tasklib_refactor

* develop:
  Fix logic with copying directories
  Improve readme for cookiecutter stuff
  Correct paths in tests
  Add more files for django cookiecutter project
  Update wsgi handler to use Django 1.4+ convention
  convert examples to cookiecutter
  make it so more than one celery could exist on a system
  Add our standard celery config
  add DEVELOPING guide
  fab: do some work on a copy of the project to reduce downtime
Ensure prev directory exists before moving dev into it
Add db functions in django.py

They call the same name methods in database.py that used to be
functions but are now no longer accessible.
rename to create_dbdump_cron_file

from create_mysqldump_cron_file so the function makes sense as a generic
db function.
Fix bad names in fablib
add more abstract methods to tasklib/database
remove TODO comments for stuff that is done
Make tasklib/database method names more consistent
Merge branch 'develop' into tasklib_refactor

* develop: (31 commits)
  add python build tools section to similar.rst
  Update rollback version to use new directory structure
  Refactor how we get list of versions
  rename dump db function to make more sense
  fix minor bug in _migrate_directory_structure()
  list_versions() should only list timestamp directories
  Purge prev_root from fablib
  Correct path of old rollback directories to delete
  Compress the db_dump for rollback
  Change ordering of when to do database dump
  Remove old create copy for rollback function
  Improve the directory migration
  expand README for server project home
  Put README into server project home
  add README to go in server project home
  Check if virtualenv needs update in fab.py/tasks.py
  remove stray "
  fix the final bug in fablib around new deploy dir structure
  re-add the strip() to ensure directory names are OK
  some minor bits of clean up
  ...

Conflicts:
	dye/fablib.py
Ensure environment is set in tasklib.django
Remove extra name on dump command
Merge branch 'develop' into tasklib_refactor

* develop:
  Fix minor bugs in fablib
Ensure database host always has a value

catch empty string as well