Apt update tooling

This gives you the ability to have puppet run apt-get update a few different ways:

  * always
  * daily
  * weekly
  * reluctantly **default**

it determines when to trigger the apt-get exec via a combination of an addition of a script in apt.conf.d that touches a file when apt-get update runs, and a  custom fact which checks the mtime of that file.

all behavior should be covered by spec tests.

additionally fixed up the spec tests to function when running natively on non-debian systems

Please let me know if there are any changes you'd like to see here in order to merge this
Really? I've always been under the impression that it was a good practice to include the parent class when referencing parent class parameters/variables from a subclass. This gives one the ability to have unit tests behave as expected (although that could be solved by pre_condition assertions), and tries to do the right thing if the subclass is invoked before the parent class for some crazy reason. Is there any harm in this? or is it simply a smell issue?