Fixes for puppet+vagrant to have dev/prod modes

The lines at the top of the Vagrantfile dictate which environment to use, these then
correspond to variables in the puppet manifest(s) that will allow installing other
things for dev purposes (such as a better shell, fixing terminal support, etc).

The pip requirements have been split, only the prod ones are in requirements.txt,
the stuff for development (unit testing, linting, etc) are all in the
requirements.dev.txt file.