Document *all* manifests and managed files

This change adds RDoc documentation to all Puppet manifests and a comment
header to all other files managed by Puppet.

Also changes the extra Vagrantfile file name to 'Vagrantfile-extra' (which
exists by convention and by dint of being mentioned in .gitignore) and adds
'puppet/manifests/extra.pp' for housing Puppet configs of optional Puppet
modules.

Also included are various small lint-like fixes to Puppet code:

  * 'default' for all case statements.
  * 'ensure' as first parameter.

Change-Id: I15cf7a55894fda70cda5866872442e3946425acb