fab: do some work on a copy of the project to reduce downtime

NOTE: STILL NEEDS TESTING.  Committing now so I can untangle branches.
Also still need to handle a few edge cases - see TODO: comments in
fablib.

So the broad order used to be:

- do a little work, including making a copy for rollback inc. db dump
- take down the site
- do VCS update virtualenv, database migrations etc
- bring site back up

now it is

- make a copy of the site as "next"
- in next, do the VCS update and virtual env stuff
- take down the site
- move the current site to rollback and do database dump
- move next to replace the old current site
- do database migrations etc
- bring site back up

Which should mean a lot less site downtime when the virtualenv is being
updated.
add DEVELOPING guide
Add our standard celery config
make it so more than one celery could exist on a system

By having `/etc/init.d/celerybeat_<project_name>` (and for celerybeat and
`/etc/default` ).
convert examples to cookiecutter

So we can start a new project more easily.

See http://cookiecutter.readthedocs.org/ for more.
Update wsgi handler to use Django 1.4+ convention
Add more files for django cookiecutter project
Correct paths in tests

The example_dir is now the cookiecutter dir
Improve readme for cookiecutter stuff
Merge commit '0681a70' into develop

* commit '0681a70': (29 commits)
  tasks: Fix processing of -h and -t with --deploydir
  tasks.py - catch help argument even if redirected
  Correct test for whether grants should be enabled
  Set the correct key for db_details password
  fix test that tests help exit status
  fix import paths for tasks - lost the dye somewhere
  Be more specific when checking for mysqldumps
  add notes for future tests to write
  tweak some strings in the database part
  restore old help text printing
  add test for mysqldump cron job text
  add test for db_table_exists() (and fix errors)
  add tests for drop_db()
  Add tests for create_db_if_not_exists()
  Test create_db_if_not_exists()
  Add test for grant_all_privileges to database
  Test more db user functions
  Add tests for database functions
  Refactor _get_mysql_root_password()
  Remove tests that relied on behaviour removed in last commit
  ...

Conflicts:
	dye/test/tasklib_django_test.py
Fix logic with copying directories

We failed to copy the .git directory by first creating the target
directory and then doing `cp dirname/* target/`

So we're now now creating the target dir and doing `cp dirname target`
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