Add SecureForm implementation for CSRF token.

CRSF secret is stored inside a session which is used together with app
shared secret to generate HMAC signature as a CSRF token. On validation
we will check that both formdata and generated HMAC digest matches.

This implementation is based on WTForms' SessionSecureForm. Temporary
session support is also added using unencrypted cookie store, which is
unsecure and should be changed.
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
Restore custom request property remote_addr.
Add git submodule update --init to setup instruction.
Re-enable debug toolbar for Vagrant.
Switch to use Beaker for session factory.

UnencryptedCookieSessionFactoryConfig is now replaced with Beaker
session. Session type is defaults to file.