Require a reason when disabling Puppet

So that we can keep track of why Puppet has been disabled on a host.

Example usage:
```
(fabric)➜  fabric-scripts git:(puppet_disable_reason) fab preview -H jumpbox-1.management puppet.disable:'dcarley testing'
[jumpbox-1.management] Executing task 'preview'
[jumpbox-1.management] Executing task 'puppet.disable'
[jumpbox-1.management] sudo: govuk_puppet --disable "dcarley testing"
```

Example output:
```
(fabric)➜  fabric-scripts git:(puppet_disable_reason) fab preview -H jumpbox-1.management puppet:'-v'
[jumpbox-1.management] Executing task 'preview'
[jumpbox-1.management] Executing task 'puppet'
[jumpbox-1.management] sudo: govuk_puppet -v
[jumpbox-1.management] out: Notice: Skipping run of Puppet configuration client; administratively disabled (Reason: 'dcarley testing');
[jumpbox-1.management] out: Use 'puppet agent --enable' to re-enable.
…
```