(#14299) Resolve Modulefile name mismatch.

The modulefile name is puppet-apt, but the module is released to forge
under puppetlabs. This causes a dependency confusion for puppet module
tool, which has been fixed by this patch.

Previous:

    $ puppet module list
    ~/.puppet/modules
    ├── puppet-apt (v0.0.2)
    ├── puppetlabs-mongrodb (v0.0.1)
    └── puppetlabs-stdlib (v2.3.1)

Now:

    $ puppet module list
    ~/.puppet/modules
    ├── puppetlabs-apt (v0.0.2)
    ├── puppetlabs-mongrodb (v0.0.1)
    └── puppetlabs-stdlib (v2.3.1)
Merge pull request #51 from nanliu/tb/14299

(#14299) Resolve Modulefile name mismatch.
(#14308) Add ensure=>absent for define resource.

Several apt::* define resource type does not support ensurable. This
update allows ensure=>absent to support the removal of these
configuration files.

* apt::conf
* apt::pin
* apt::source
Merge pull request #52 from nanliu/tb/14308

(#14308) Add ensure=>absent for define resource.
(#11966) Only invoke apt-get update once.

Move apt-get update exec to a seperate class to minimize the number of
apt-get updates invoked by configuration changes.

* remove apt_update exec resource in apt class.
* remove apt-get-${name} in defines.
* apt::source notify Exec['apt update'].
* Remove dependency to Exec['apt_update'].
* fix rspec-puppet tests.

Conflicts:

	manifests/source.pp
(#11966) Update apt::ppa to use apt::update.

Change apt::ppa define type to also use the apt::update class to invoke
apt-get update once.
(#11966) Change apt update to apt_update.

Based on code review change exec from apt update to apt_update.
Merge pull request #49 from nanliu/tb/11966

(#11966) Only invoke apt-get update once.
Move Package['python-software-properties'] to apt:ppa

Also updates the apt-update in Apt::Ppa to use $apt::params::provider
instead of aptitude.
Merge pull request #54 from branan/python-software-properties-in-apt-ppa

Move Package['python-software-properties'] to apt:ppa
Update manifests/pin.pp
(#14321) apt::pin resource support release.

apt::pin release should default to title, but should be able to
override. This update removes unnecessary "" around $name, and add spec
tests.

Conflicts:

	spec/defines/pin_spec.rb
Merge pull request #53 from nanliu/tb/14321

(#14321) apt::pin resource support release.
(#14221) update Modulefile for new release
(#14221) update CHANGELOG for release
Merge pull request #50 from branan/14221_forge_update

(#14221) update Modulefile for new release
(#11966) apt module containment for apt_update.

The update to separate Exec["apt-get update ${name}"] to single exec in
apt::update class resulted in apt-get update command to be dangled.
Previously if user specified Package['package_a'] <-
Apt::Resource['source_a'], the original refactor would no longer
guarantee apt-get update is executed before the package is installed.
This patch fixes the problem using the anchor resource and ensuring the
old behaviour is maintained and user can depend on apt-get update
command being invoked if they specify dependency on any apt::*
define resource type as well as the apt class.
Merge pull request #55 from nanliu/tb/containment

(#11966) apt module containment for apt_update.
Fix style related issues in module.
Add configuration for Travis CI