Make sure we configure the proxy before doing apt-get update.
Adds apt::{conf,backports} and variable style.

  With the addition of this patch two new defines will be added; one to
  manage APT configuration files (apt::conf) and one that abstracts out the
  requirements needed to turn on backport repositories (apt::backports).

  In addition, the patch takes the opportunity to clean up variable
  definitions so they follow a consistent pattern of setting local
  variables to the fully qualified value stored in the apt::params
  class.  Previously all variable used within a class directly addressed
  the apt::params namespace when ever the variable was used.  In the
  pattern they now adhere to we can more easily switch the namespace
  data lives in or externalize it even more using hiera.
Tests to validate apt::{conf,backports}

  This patch adds the appropriate spec tests to validate the changes
  introduced by e5f2dfe.  As a bonus it includes fixes to the manifests
  that were discovered while writing the tests.
(#14138) Modify apt::ppa's update-apt exec to use the ${apt::params::provider} parameter rather than explicitly calling aptitude.
Previously the update-apt exec would always use /usr/bin/aptitude, which is not necessarily present. This change makes it use ${apt::params::provider} which defaults to /usr/bin/apt-get. This also adds some consistency so that ${apt::params::provider} is used everywhere.
(#14287) Fix apt::pin resource for rspec-puppet.

The shorthand syntax cause rspec-puppet failure for external modules
depending on the puppet-apt module. This patch uses the require
metaparameter to avoid this issue.
Merge pull request #46 from nanliu/master

(#14287) Fix apt::pin resource for rspec-puppet.
Merge pull request #42 from ody/sync_with_pl_ops

Sync with pl ops
Merge pull request #44 from relud/patch-1

(#14138) Modify apt::ppa's update-apt exec to use the ${apt::params::provider} parameter.
Merge pull request #41 from tbroyer/install-proxy-first

Make sure we configure the proxy before doing apt-get update.
(#14138) Fix spec test for aptitude changes.

Fix spec test related to apttitude update -> apt-get update change,
Merge pull request #47 from nanliu/master

(#14138) Fix spec test for aptitude changes.
Cleanup apt-module puppet-lint related issues.
Merge pull request #48 from nanliu/tb/lint

Cleanup apt-module puppet-lint related issues.
(#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.