Add new parameters to allow more flexible configuration.

`driftfile` [String]: Allows the setting of the driftfile location.
`keys_enable` [Boolean]: Should the ntp keys option be enabled?
`keys_file` [String]: Where are the keys stored?
`keys_trusted` [Array]: List of keys to trust.
`keys_requestkey` [String]: Request key to use.
`keys_controlkey` [String]: Control key to use.

If keys_enable is set then the directory that keysfile is stored in is
created (recursively).  Currently we don't manage the keys file but that
is an option to be added.
Remove all the distribution specific templates.

Add a single ntp.conf.erb as the standard template going forward,
to ease the maintenance burden of adding features to this module.
Add tests for the new keys options.
Add preferred_servers feature.

This adds:

`preferred_servers` [Array]: The servers to prefer.

As requested by Erik Dalén!
Add documentation for new parameters.
Convert some classes to not be parameterized.

We're following (where possible) the pattern of having parameters only
exist on interface classes.  As ntp::config and ntp::install are just
internal, private, classes, these don't make sense to allow changes to.
Rewrite the spec testing.

A lot of changes here, primarily to unify the spec testing in a single
spec file to reflect the changes to the private ntp::config and
::install classes.  As a side effect make sure we properly test each
supported distribution (including Gentoo properly) and prefer to use
'content' => /blah/ rather than other methods of testing file contents.
Merge pull request #80 from apenney/single_template

Merge all the templates together, add a few new features to help with the merge.
Add option to force UDLC regardless of virtual status.
Convert restrict to an array of restrictions.

Instead of a boolean with hardcoded values we now just convert
restrict into an array of lines related to restrictions.
Merge pull request #87 from apenney/restrict

Convert restrict to an array of restrictions.
Add specs for restrict.
Merge pull request #88 from apenney/restrict

Add specs for restrict.
Prepare an rc release and add the CHANGELOG.
Add `restrict`.
Add in parameters that may be effected.
Merge pull request #81 from apenney/20-release

2.0-rc1 release.
Remove variables, switch to inherits.

This commit removes all the local copies of variables in the subclasses
and simply inherits the main class in order to bring variables into the
right scope.
Update default keys file param variable to match init.pp's
Merge pull request #92 from meltwater/keyfile_params

Update default keys file param variable to match init.pp's