Set provider-specific nameservers

Recently, we were unable to install `unattended-upgrades` automatically overnight because these machines had lost their nameservers. Setting them back up manually fixed the initial cause, but it would be much nicer if Puppet managed this for us.

At this juncture, it was decided that using the same nameservers for all boxes may not be such a good idea - we used to use Google Public DNS, but we've had issues where we've been rate-limited etc. in the past.

To get around that, we should scope nameservers for machines based on the provider they're running at. As we don't have the luxury of using 'public'-ish nameservers from Skyscape on Skyscape machines (as they only provide them for IL3 hosts, which we're not), we'll need to continue using Google Public DNS. For Carrenza machines, though, we can use their nameservers. They're not publicly accessible, but that's fine - we only need Carrenza machines to look up using them.

This sets all the above up, using the `gdsoperations/resolvconf` module, and then provider-specific back-ends.

Testing this locally might prove a bit of a pain because, locally, machines aren't given provider details. Testing needs to occur in the wild, so to speak.