Added setup steps and Vagrant environment for easy automatic setup

The file setup.sh can also be used independently
for people who have ubuntu and aren't using Vagrant.

This makes it really easy to setup a development environment
in a virtual machine.