Remove puppet provisioning.

To be replaced with Ansible.
Basic environment setup using Ansible.

Add basic components (Nginx, PostgreSQL, Redis, Python) with some
initial configurations. This Ansible script replaces Puppet as its
result is more predictable.
Setup application within the provided virtualenv.

Also setup build-related packages and few -dev packages as some
Python module with C extensions requires it (psycopg2, misaka, etc.)
This commit also ensure that ${app.base} directory is setup under
the target user instead of root.
Ensure that packages are setup as ${user}.

Because in some situation the target user to install as and current
logged in users might not be the same (i.e. when we want to setup
the app to run under www-data but login account is something else.)
Make sure Ansible playbook runs through on vagrant up.

Variables in development_hosts are not passed to Ansible when it
is called by Vagrant. This commit uses ansible.extra_vars to
explicitly pass development arguments on vagrant up.
Setup uWSGI to run at startup.

We will use uWSGI to run our app both in development and production.
uWSGI is run in Emperor mode for simplicity in configuration and set
to run on startup with Upstart.
Hardcode appserver to be run as www-data.

For some reason sudo_user can't read from hostvars and groupvars
but able to substitute from extra_vars. This commit removes ability
to user running user and enforce the app to be run as www-data.
Setup application configuration files via Ansible.

In order to ensure they're updated alongside with server provisioning
its configuration is now being managed by Ansible instead of a static
file in the application directory.
Rename webservers groups to all.yml.

Use group_vars/all.yml to define default configurations so we could override
it when needed.
Un-namespaced Ansible variables.

As we don't have duplicated configurations, this would allow vars
to be easier overridable (i.e. within inventory file).
Configure PostgreSQL to allow connection from appservers.

Rewriting pg_hba from template to allow connection from any app
servers and make sure postgresql listens to the IP we will be using
to connects to.
Initial assets compilation.

Install nodejs for assets compilation using brunch. Static assets
path will be created on the first setup.
Update database credential in test.

Still a stopgap measure.
Autorun brunch watch in development.

Using supervisord to monitor brunch watch.
Update README and add genconfig for generating settings.ini.

Since configurations are now managed by Ansible, we still need a way
to allow non-Vagrant-user to get on with development. genconfig.py
is added to generate settings.ini and alembic.ini with sensible
defaults for localhost development.
Move assets inside project directory.

Make all static resources live in fanboi2/resources directory instead of
putting them in flat-level app and vendor directories. This way, actual
source and compiled source (static) are live next to each other.
Update config.coffee to work with new directory structure.

Since all assets path are now prefixed with fanboi2/resources
this caused joinTo directive to no longer working as it checks for
path from the root directory. This commit simply change it to look
at any directory named app and vendor as well as cleanup resources
prefix with nameCleaner.
Slight compatibility fixes for Vagrant 1.3 and Ansible 1.3.

Replace old only_if syntax with the new when syntax in Ansible and
update apt_repository to call update_cache automatically.
Setup Travis CI, delegate test database from environment.
Delegate deployment username from config. Update Travis notification.