Apply anchor pattern from puppetlabs-stdlib

This both simplifies the dependencies and refreshes between classes, as well
as doing the right thing when an external module depends on the outer
`Class['dnsmasq']`. Uses puppetlabs/stdlib.

http://docs.puppetlabs.com/puppet/2.7/reference/lang_containment.html#workaround-the-anchor-pattern

The additional require has been removed from `dnsmasq::conf` since the
`notify => Class['dnsmasq::service']` implies this.
Ability to soft-restart for some config changes

Some configuration files can be reloaded without completely restarting
dnsmasq. There's a more detailed description in the puppetdoc. This class
can be notified by other modules wishing to update dnsmasq, e.g.

    file { '/etc/hosts':
      ..
      notify => Class['dnsmasq::reload'],
    }
Merge pull request #4 from alphagov/anchor_pattern_and_reload

Anchor pattern and reload class
[Fixes #3] Add APL2 license file

Copied from one of your other Puppet modules. This appears to be the license
that you most commonly use.
Merge pull request #5 from alphagov/add_apl2_license

[Fixes #3] Add APL2 license file
Merge remote-tracking branch 'refs/remotes/saz/master' into gds_fork

Conflicts:
	Modulefile
	manifests/config.pp
	manifests/init.pp