Standardise the format of the Ruby version
Ignore vendored bundle
Clean up resource ordering at the node level:

 - Use a run stage to ensure apt sources are always up to date. We need to
   do this because we can't guarantee that the apt sources that were cached
   on the base box are still valid.
 - Make the inclusion of classes consistent, and use the -> operator to
   ensure precedence. Looks like my use of Puppet is becoming more
   Chef-like with every passing day.
Add stub postfix class
Bump the version of rubygems after installing a new Ruby:

 - Running `bundle install` on from within Puppet triggers this weird error
   in bundler: "ArgumentError: invalid byte sequence in US-ASCII".
 - This behaviour doesn't seem to be triggered on the command line when
   running `bundle install` interactively, which is a little infuriating.
 - [This stackoverflow
   post](http://stackoverflow.com/questions/14839674/bundle-install-error-invalid-byte-sequence-in-us-ascii-argumenterror)
   suggests setting some environment variables, but this doesn't seem to
   help at all.
 - Another stackoverflow post I can no longer find suggests that this
   behaviour disappears in newer versions of RubyGems.
 - After upgrading RubyGems, the problem went away, hence this patch.
Make resource application ordering explicit
Add class to run cuttlefish from project mounted at /vagrant
Wrap everything running under foreman with rbenv exec:

 - This allows Foreman to look up bundler correctly, which allows all
   the gems to be visible within the application at boot time.
 - I mucked about with this for a few hours to make this work, and it
   seemed to be the only way to make it work repeatedly.
 - Not sure how people are using Foreman within a development workflow,
   but if they are and they're not using rbenv, this commit is going to
   fuck them royally.
 - If this is a concern (and it probably is), we should ship a second
   Procfile just for running Cuttlefish within Vagrant.