Initial Vagrant/Puppet environment setup.

Currently using system package (which is Python 3.2 that fails to run
the app due to lack of ipaddress module). Psycopg2 is replaced with
Pg8000 due to an installation bug. Bootstrapping the environment works
up to python setup.py develop.
Documentation update, setup project as vagrant user, few more stuff.

* Ensure apt-get update is run before installing any packages.
* Update documentation for setting up with Vagrant.
* Reduce Python requirement to 3.2.
* Setup project as vagrant user instead of root.
Updated puppet-nodejs submodule.

Newer puppet-nodejs module has a fix to PATH problem (not detecting
/usr/local) and few adjustment to ensure it did not rerun if nodejs is
already installed.
Autorun waitress for development server, actual mapping.

Vagrant provisioning now works! Hooray!
Python 3.2 compatibility, fix Puppet run order.

* Revert back to use psycopg2 instead of pg8000 (types support).
* Replace ipaddress with IPy for 3.2 compatibility.
* Use non-constant comparison for form stuff for 3.2 compatibility.
* Ensure that database is setup before running alembic upgrade head.
Expose Supervisor inet interface via localhost:9001

This allows us to control Supervisor programs from visiting its web
UI inside the host machine. Documentation is also updated a little
bit for few informations about Supervisor URL.

Supervisor retries now set to 65535 to ensure the process actually
started since there's no way to do "infinite retry" with Supervisor.
Merge branch 'feature/vagrant-setup' into develop