Various changes to accomodate running tests (including integration tests)
on a vagrant installation. Includes detection of TESTING environment in
settings.py. Raising of deis user permissions in provisioner to allow
test DB creation. Extending test setup to use installations with
existing superuser. Updating docs to desribe testing procedures.

Amend Travis config to create the testing DB with the 'deis' role

Add 'vagrant' to PROVIDER_MODULES in settings.py to ensure consistency with local_settings.py. And therefore increase falvors count in tests. Also updated DATABASE dict to not use a password in testing env.

Get travis to create databse with name 'deis', not 'deis_testing'

Create deis postgres role before creating DB in travis.yml

Don't surround psql commands in double quotes in travis.yml

Resort to switching postgres role and db name depending on testing env

Flake error for line length

Changes to Vagrant provisioner and environment to accomodate new
containerisation architecture.

Major changes include:

* Provisioning is done entirely with `vagrant up`. This has not been
easy and feels inelegant. Vagrant modifies the GEM_PATH env variable
meaning that it has to be saved and injected into subsequent `knife`
commands.

* Vagrantfile.local's symlinking magic is no longer needed

* DB reset now uses JSON fixtures rather than SQL.

* New ./dshell script for conveniently getting a terminal in a
container.

* There is an accompanying change in the cookbook which causes the
docker daemon service to delay its init until after the upstart
'vagrant-mounted' event has been triggered.

Updated readme to state correct username and pass created by DB reset
script.

USe new name for Vagrant Box to force downloading new box. Other bug
fixes.

Make code that gets user's default shell OSX compatible.

Use much simpler ENV['SHELL'] to get user's shell in Vagrantfile

Added script to install dev dependencies in deis-server. Used to run tests.

Install requirements.txt and dev_requirements.txt for Travis CI

Various changes to accomodate running tests (including integration tests)
on a vagrant installation. Includes detection of TESTING environment in
settings.py. Raising of deis user permissions in provisioner to allow
test DB creation. Extending test setup to use installations with
existing superuser. Updating docs to desribe testing procedures.

Updates to accomodate new containerise code

Previous rebase had missed out some changes