Use docker

Docker support for development.

* added Dockerfile to support the creation of Docker containers
* updated README with information on how to setup a Docker container
Since the tests should be as self contained as possible, what would be ideal is having a stock test config.py, like we use for Travis, importing that into runtests.py, and then modifying it where necessary (e.g. for Pulse host IP). Not only does this let us run tests out of the box on OS X, but it ensures a relatively reproducible test environment while being flexible.