running puppet-apply every 30 mins on mirror

Introduced a generic class cron which takes a command and configures it
to run every 30 mins.
removed support for puppet 2.7

Puppet 2.7 has issue raised http://projects.puppetlabs.com/issues/8814.
This cuases failures in function fqdn_rand
specs for cron class
Little tidy up of cron sub-class

- Description in README.
- Variable naming.
- Formatting.
Default cron_command to `puppet agent`

It would be bad to provide `cron_ensure => present` without `cron_command`
because the command would default to the title of the resource, `puppet` in
this case.

We could either validate the combination of params or, what I think is
easier, set a sensible default to `puppet agent`. That can then be
overridden with `puppet apply` should someone wish.
Merge pull request #1 from alphagov/running_puppet_apply_every_30mins

cron resource for Puppet