Amends Vagrantfile to create/attach HDD

This commit ensures that second drives are present as Puppet will try to
mount a second LVM/ext4mount drive on start-up. In practice, this commit:

- sets a variable, VagranfilePath, to specify the location of the Vagrantfile
  for use when creating and attaching a VDI disk image as a second drive to a
  virtual machine

- sets the size of the disk in the `size` variable

- removes two redundant nodes from the Vagrantfile. As it is envisaged that only
  one need is required at a time to run the offsite backup host, two of the
  three nodes are redundant

- specifies `file_to_disk`, which uses VagrantfilePath and the node's hostname,
  to specify a filepath where the VDI will be created

- creates and attaches a disk drive, using the `createdhd` and `storageattach`
  functions of `vm.customize`
Adds *.vdi to .gitignore

To ensure that we don't accidentally commit an entire VDI disk to the
repository, this commit adds '.vdi' to the .gitignore file.
Adds alphagov/{lvm,ext4mount} module to Puppetfile

This commit adds the 'alphagov/puppetlabs-lvm' and 'alphagov/puppet-ext4mount'
modules to the Puppetfile, and then creates a Puppetfile.lock file using
librarian-puppet. Both of these modules are used within this repo.
Add mounts manifest

This commit adds a mounts.pp manifest, which configures and mounts LVM disks.
It always checks for the existence of a `backup-data` dir at /dev/sdb, which it creates if required.
Adds class to Hiera

This commit adds the base::mounts class (specified in mounts.pp) to Hiera to
allow for autoloading of this module.