Add a Vagrantfile

Vagrant (vagrantup.com) is a useful way to bring up virtualised development
environments which are reproducible, thus removing the whole "works for me"
excuse. This commit adds a Vagrantfile - to use it, install Vagrant from
vagrantup.com, then run `vagrant up` from the root of this repository.