Add Fabric support

This commit:
- adds support for amending the sudoers file automatically on first deploy
- adds support for deploying the application after first deploy
- adds a README to explain usage of the Fabric deployment script
Add alphagov/puppet-sudo module
Remove unused puppet_merge_hieradata function

The `puppet_merge_hieradata` function is used to merge secrets from deployment
repositories at Puppet runtime with Puppet code in public repositories. Since
this repository has no secrets stored in a private repository, then this
function is essentially moot. This commit removes it from the `deploy` task and
removes the function.
Add vCloud Gems

This commit adds the following vCloud supporting Gems to the Gemfile:

- vcloud-walker
- vcloud-core
- vcloud-edge_gateway
- vcloud-tools
Merge pull request #23 from alphagov/add-fabri

Add Fabric support
Amend typo in SSH key
Add YAML file for vcloud-launch

vcloud-launch requires a YAML file in order to build the box in question. This
commit adds the YAML file.
Add Jenkins scripts

To that end, this commit adds a Jenkins script to (a) create the machine using
`vcloud-launch`, (b) configure NAT and fireall rules on the vSE using
`vcloud-edge_gateway`.
Add bootstrap file

This commit adds a bootstrap file to the 'common' folder.
Add README for network configuration

A rather self-explanatory commit, I hope, which adds a README explaining how
things in the vcloud/net folder work.
Add Edge Gateway firewall and NAT rule config file

This commit adds an Edge Gateway firewall and NAT rule configuration file. The
syntax is, hopefully, self-explanatory, however full documentation can be found
in the `vcloud-edge_gateway` repository's README on GitHub.
Add interfaces.yaml file

In order to ensure that the edge gateway can be configured correctly, the
interfaces file is required. This commit adds only one interface file for
Carrenza - the interface attached to the Edge Gateway in the BACKUP vDC.
Add YAML to create Org vDC networks

This commit adds a YAML file in order to create org vDC networks. Org vDC
networks are required in order to ensure traffic from a vDC can be routed via an
Edge Gateway.
Add generate_fogfile.sh

In order to generate a Fog file to act as a credential store for
vCloud tools when credentials are user-specific and are not stored in any
centralised data store, we need to create a way to dynamically produce a Fog
file.

This commit adds a shell script which truncates the end of `fog_cred.config`
with new, default, values based on the environment variables passed to it by the
user (which are passed to Jenkins at deploy time).
Add passwordless authentication support for %sudo

This commit adds passwordless authentication support for users within the %sudo
group. This is a workaround for testing, and may eventually be rolled back.
Change sudo::conf class name
Merge pull request #21 from alphagov/vcloud

Add supporting vCloud tools
Amend rSSH allowed programs

This commit amends the programs which rSSH allows to be run under users using it
as their shell from `rsync` to `scp`, as we are now using this in the
offsite-backup script.
Merge pull request #25 from alphagov/amend-rssh

Amend rSSH allowed programs
[#63789506] Remove in-house S3 repo

This is deprecated and we don't need any packages from it for this project.