* Add a volume to store the tox cache on the host. This gives quite some speed boost when running lint_docker and test_docker.
* Only map .tox directory for cache.
* Allow bower install of frontend components as root. Needed for frontend development in docker since everything runs as root in the docker image.
* Improve development workflow in docker
* Use LANG=C.UTF-8 in tox. Fixes installation of libraries with UTF-8 in it's readme.
* Install mysqlclient psycopg2 uvloop after requirements_all.txt again, but with a --no-cache-dir this time. Allows bootstrap_frontend to be executed in a different path like the other scripts.
This converts the testing infrastructure to tox for both locally
testing and travis. This is nearly equivalent to the previous testing
with the only exception that linting fails with the first tool to fail
and won't process all of them.
Slightly tricky thing is that tox resets *all* of the environment for
it's subprocess runs by default. A couple of the dependencies we have
will not install in non UTF8 locales: temper-python & XBee.
This adds a default 30 second timeout on every test method so that
deadlocks or broken threads are move obvious in travis. It also passes
-v by default to make things a little more verbose on where things
fail when they are failing.