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.