replace packages.pp w/require_package() function

require_package('foo') will declare (at run time) a package::foo class,
containing a Package['foo'] resource, and it will make the class be a
requirement for the class in which require_package() is invoked.
It can be called multiple times for a particular package without causing
duplicate resource definitions.

Change-Id: I61625b89281d31a7e99500b6ff61fec5511f6810