A Vagrantfile for a new world
Blow up shell provisioning

...and replace with Puppet (for now)
Clean up gitignore
Include Puppet as our provisioner, with two new Puppet files:

* `setup.pp`: Updates apt-get at the moment. Might become a more generic pre-run file.
* `tools.pp`: Useful tools we want available at the CLI.
tools.pp: We need `git` and `svn`, of course.
Add MySQL support via Example42's MySQL (and Puppi) modules
Add Puppetlabs nginx module
Some modules require the Puppetlabs stdlib module
Introduce webserver.pp and default nginx config
Set Nginx module to track from master repo, as it's updated more frequently.

See https://github.com/10up/varying-vagrant-vagrants/commit/ee3a1519d144a61fee3f9070f01796c010db78b3#commitcomment-3214332
Projects will be installed in the `projects` directory, so let's make sure it exists.
Add a Puppet module for interacting with Git

May not be sufficient though. See https://github.com/nesi/puppet-git/issues/18
Houston, we have wp-cli. And a bunch of other stuff.

* Add PHP and WP modules. The latter is depedent on refactoring a class to install wp-cli from Git https://github.com/rmccue/puppet-wp/pull/1
* webserver.pp now adds PHP and a few related extensions
* default-projects.pp gives us our first default project: wp-cli

Essentially, run `vagrant destroy; vagrant up;` and now wp-cli is at your fingertips.
tools.pp: Port over a couple more from provision.sh
MySQL root user should default to 'blank' password
Load project-specific 'vvv.pp' provisioning files if they exist
Modify per-project puppet application to use relative path of each vvv.pp
Update `wp` module to include new Git-based wp-cli installation method
Move to a single Puppet provisioner run, removing duplicate packages
Stop trying to make a permissions change that Vagrant will just override