Vagrant integration

When this PR is merged, your instance may look broken as the home directory has been moved. You may want to immediately switch to using Vagrant.

Vagrant usage
---------------------

See README.md in the /vagrant directory.


Changelog
---------------

1. Move the ec2build folder out of playbooks, since it's not comprised of only playbooks.
2. Change the name of the the mongo sample data file, since autocomplete was annoying me.
3. Fix the log file entry formatting in both the console and web app, remove the [] [] double square brackets from the end of the log entries.
4. Add some extra logging in Util.php
5. Introduce `mktemp` into the more complicated LinuxEnv.php commands. This is a standard linux command that creates a secure (permissions are restricted), unique temporary file / directory. Using mktemp means we don't need a specific secure tmp directory just for training wheels, and goes some way to mitigating concurrency issues - for example, multiple users being created at once, all writing and reading from the same temp file e.g. `/twtemp/.password` would cause big problems. There is a TODO about creating an API in ServerConn.php - not 100% sure I want to do this just yet. 
6. Now that mktemp is used, I've made all the chained linux commands that use redirection or pipe (e.g. `zcat dump.sql.gz | mysql`) work on the console without requiring the user be really, actually logged in as root (instead of sudo). This is done by reading the mysql login credentials from root's home directory. A similar thing is done by doing `sudo -i` in some of the commands, which sets $HOME to root's home, however both approaches are necessary as `zcat dump.sql.gz | sudo -i mysql` won't actually work as you're piping to sudo, not mysql. There is no other simple way to import a zipped database dump without using pipe or redirection.  
7.  Make training wheels use /twhome instead of /home. This prevents it picking up users that aren't part of the system, e.g. the ubuntu or vagrant user. Once we merge the Config component, we should consider making this part of the system configuration, instead of hardcoding it.
8. The `/var//trainingwheels-source` folder is no longer created. The main training wheels application is now stored in plain old `/var/trainingwheels`, as it was confusing having both of them. The crap that was in `/var/trainingwheels` has been eliminated or moved to `/etc/trainingwheels`. We no longer clone the repository as part of the standard controller setup playbook, as it's provided by a shared folder in the Vagrant build.
9. Created better separation of developer settings in playbooks. Instead of using tags, it's easier to just run a dev settings playbook in the Vagrant setup and not in the EC2 setup.
10. In the Vagrant build, you can now just type 'tw' from anywhere as it's in the PATH. There are also convenience shortcuts placed in root's home folder.