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
We should automate this; we should also probably use Docker by default with the tests, so this stuff can go in runtests.py (probably a good idea to allow running it without Docker as well though, maybe with a warning.).