(PUP-3618) Include pkgng provider for FreeBSD

To improve the default state of Puppet on FreeBSD systems, !his work
moves the pkgng provider into core.  Previously, users of the provider
would need to install from the forge module zleslie/pkgng.
Since this method is only invoked by `self.instances` which itself should only be invoked once, do we need to memoize the value?