Add a request ID to all the things

As person responsible for operating software in production
I would like to have a unique ID associated with every request
So that it is easy for me to track down problems in a distributed
system.

This is the first step to that. Every request coming in to our SSL
termination machines will have a UUID assigned to it with an HTTP
header.

We can then amend our logging to include this header where appropriate
and make it easier to trace requests going through the system.

This removes nginx-full and replaces it with nginx-extras.
Undo namespace fix for mongo_hosts

This is not a global variable, it's passed into the class. I have no
idea why the linter is complaining.
Merge pull request #586 from alphagov/feature/request-id

Add a request ID to all the things
Merge pull request #588 from alphagov/undo-namespace

Undo namespace fix for mongo_hosts
We've replace nginx package for nginx-extra

As part of adding request-id headers to our stack we switched over to
using the nginx-extra package for its perl extensions.
Merge pull request #589 from alphagov/bugfix/nginx-package-no-longer-exists

We've replace nginx package for nginx-extra
Revert change to deploy htpasswd

Iterating on fixing puppet in preview.
Fix nginx-extras package name