Rename nodes in Vagrantfile

Amended node names in Vagrant file from `node{0,1,2}` to `obnode{0,1,2}`.
Fixes default PUPPET_DESTRUCTIVE value

When using this repository and running `bundle exec librarian-puppet install`, librarian-puppet changes the value of the `LIBRARIAN_PUPPET_DESTRUCTIVE` key from `true` to `false`. This commit changes the default value.
Updates `librarian-puppet`

The librarian-puppet gem has been renamed from `librarian-puppet-maestrodev`
to `librarian-puppet`. This commit makes that change. It does not lock the
version in the Gemfile, as the Gemfile.lock does this instead.
Change path and exec method in Puppet

This commit is prior art from alphagov/govuk_mirror-puppet#31ec3c
(https://github.com/alphagov/govuk_mirror-puppet/commit/31ec3c6e038326e9f152c01e3ea0dee4de2aae63).
From its commit message:

Replace Vagrant's builtin provisioner for Puppet with our own shared folder and
shell script. This will allow us to use a consistent filesystem path in Vagrant
and production which is useful for Hiera, in particular, because unlike
extlookup the `datadir` path can't be computed relative to another Puppet
variable.
Add accounts to Hiera

This commit:

- Adds the `gds_accounts` and `base::packages` classes to Hiera, ready for
  autoloading as we are using Hiera as a lightweight ENC in this repository

- Adds two groups to `gds_accounts` in order that named users have the ability
  to access the machine via SSH and administer it. Belonging to the correct
  groups is a prerequisite to allow this to happen.

- Adds named users using `gds_accounts`, specifying username, comment (full
  name) and public SSH key. These values are consistent across all
  repositories making use of the `gds_accounts` module.

- Adds a specific `govuk_backup` user using `gds_accounts`, specifying a comment
  for easy identification at a later stage, a default shell (rssh, in order to
  restrict the permissions the user has to run programs, a `true` boolean value as
  the value for the `create_group` key in order to both ensure that the user
  does not get automatically added to a primary group with permissions above the
  level it should have, and to ensure that the user is jailboxed within its own
  `govuk_backup` group, and an empty array for the value of the `groups` key in
  order to ensure the user is not added to any secondary groups.
Add alphagov/gds_accounts support

This commit includes support for 'alphagov/gds_accounts', which is a Puppet
wrapper for managing access by GDS staff to projects over SSH.
Separate purge_ignore list in to new Hiera YAML

One part of the default `gds_accounts` behaviour is to purge accounts that exist
on the machine but do not exist in the related Hiera array. When testing changes
against this repository in Vagrant, the default user is `hiera`. Puppet will attempt
to clean this user out, and fail as the user is already logged in (as part of
the VM build-out procedure).

We could add this user to the Hiera array, but that would give the user
permissions which is not a sensible thing to do from a security standpoint.
Instead, it is wise to ignore the existence of the user when the machine is
brought up in a development environment.

This commit adds the user to a `purge_ignore` array in Hiera which is only used
when the machine is brought up in Vagrant, as Vagrant identifies itself as a
development environment. Changes to this repository to support this work will
appear in a separate pull request, and will be referenced in this pull request's
comments.
Removes govuk_backup/.ssh/authorized_keys