Update to local/remote command execution logic

Factor the logic that selects the local or remote version of functions
like ``sudo()`` and ``run()`` into functions.

Support local execution in the following tasks:

* createdb
* createuser
* install_config
Update requirements file

Update the requirements file for pip

distribute should no longer be required because the virtualenv
should be created with "virtualenv --distribute"

pytz has unconventional versions which causes propblems for pip.
The workaround is to explicitly specify a minimum version.
Debug Solr issues in Travis build

Output the Solr logs if the script fails