Redo the project in capistrano 3.x style.
Make sure to get version based on branch
Fix typos
More readme tweaks
Work around an unfortunate limitation of symlink.

In Capistrano 3.0, the symlink tasks only run on :app servers,
meaning important files like database.yml don't get symlinked into
the release on non-:app servers like :delayed_job machines.

Assuming this fixed, there is a further problem that Capistrano 3.0
strictly checks that every symlinked file must exist on every server.
So if for security reasons we don't want to create database.yml on
the :web server, Capistrano will fail the deployment.

This commit address these problems with two workarounds:

1. Create config files like unicorn.rb and database.yml on :all
   servers. This is necessary to pass Capistrano's rigorous :check
   tasks.

2. Introduce our own symlink tasks that run after Capistrano's,
   creating symlinks for servers other than :app.
Ask questions before parallelizing.

Otherwise questions will be asked multiple times as the commands
run on multiple servers simultaneously.
Improve aptitude commands.

1. Run `aptitude update` after adding repositories so that the latest
   packages from those repositories are used.
2. Use DEBIAN_FRONTEND=noninteractive.
3. Do a full safe-upgrade instead of upgrading individual packages.
4. Run safe-upgrade as the first step of provision.
Replace deprecated --no-ri/rdoc with --no-document