Port 8080 is a bad choice and bumps into puppetdb
apt::pin: Allow for packages to be an array.
beaker: Randomize SSH port.
Add a type and provider to manage apt keys.

This commits introduces:
 * The apt_key type;
 * The apt_key provider;
 * Unit tests for the type;
 * Beaker/acceptance tests for the type/provider.

The idea behind apt_key is that apt::key will simply become a wrapper
that uses apt_key. Being a native type/provider apt_key is a lot less
error prone than the current exec behaviour of apt::key and adds a few
nice bonuses like inventory capabilities for mcollective users.
Travis: Remove 3.0, add newer 3.x releases.

3.0 is just broken in tests, something is wrong with the module loading
rendering tests completely useless.

Start testing on Puppet 3.3 and 3.4.
apt::key: Redo apt::key, make it use apt_key.

Introducing a totally rewritten and tested apt::key. This commit also
patches the spec's of apt::source because it was passing in data that
is no longer allowed by the new validation rules in apt::key.

It does its best to not touch any other specs and where we touch them
only minimally to ensure that we're not introducing breaking changes.