Tons of updates

Changes:

* Renamed project name to generic 'project' so it doesn't have to
  be changed and manage.py/Makefile/fabfile.py logic is simpler
  (it's still easy to change it if you want, and the procedure is
  documented)

* Split the requirements into base (always needed), production,
  development and test. This makes the production env cleaner and
  means we can add more bells'n'whistles to dev environment without
  polluting prod further.

* Updated all the requirements to their newest versions.

* Switched to default Django's LOGGING instead of doing logging through
  Sentry (it isn't a good fit for generic logging). Sentry is still
  supported for logging the exceptions (and the raven client settings
  are updated). The develpoment LOGGING tweaked so it shows SQL
  query log to the console (even in Django shell).

* Added django-compressor for minifying/combining static assets in
  production.

* Lots of updates to dev environment: added django-extensions, IPython,
  and Werkzeug, for beefed up Django shell with model autoloading
  (shell_plus + IPython) and view crash debugging directly from inside
  the browser (runserver_plus + Werkzeug).

* Expanded Makefile to make the dev setup and dev and production
  updates automatic; also added a linter target (and flake8 dependancy
  to dev), making it easier to ensure the coding standards are met.

* Updated the documentation (README) to make the whole thing more
  usable.

* Misc minor fixes and tweaks