If branch/commit specified on command line, don't check branches

Previous we always checked the branch in the logic.
Allow for case where server hasn't pulled branch yet

It's possible that you've just pushed a branch to the repo, but the
branch doesn't exist on the server yet.  In that case we need to run
`git branch -r` on the local machine to see what branches have been
pushed.

This (should) fix issue #4 - but need to actually test it.
Improve default settings
Drop repo_name from cookiecutter

Just use project_name instead
Refactor settings.py

Using some ideas from pydanny's cookiecutter django project settings

Basically have sections that make a bit more sense
Use some if statements in cookiecutter templates

To allow for some changes in packages used etc
Fix tests to use new cookiecutter directory name
Skip some tests if mysql root password not available

Normally we use sudo to read the password from /root/mysql_root_password
but if that isn't there we need to put a prompt up to read the password.
This won't work during tests, so if we can't read the file, then skip
the test.

Also move to unittest2, as the skip stuff is only in unittest in python
>= 2.7, but unittest2  backports it.
Add --noinput option to tasks.py

To not ask for the MySQL root password, and then use it in the tests.

This should mean that when fabric runs, it won't have added the noinput
option, so when tasks.py runs on the server it can ask for the mysql
root password, and that will be passed to the user by fabric.
get_remote_dump: ensure local dump file can be written to

if getting the remote dump on a server, we can't write in the deploy
directory - ideally we could download to /tmp/ and then delete that file
afterwards.  This change will do that.

In more detail:

- if a local file is specified, and is not writable then we give up (and
  tell the user why)
- otherwise we first check if we can write in the current directory.  If
  we can we use a file there and keep it, otherwise we use /tmp and
  delete the file afterwards.
Change rm pyc commands to be space with files with spaces

the pipe to xargs version is not so safe
Merge branch 'develop' into pypi_cache