(maint) Make setting not screw up when interpolating a false value

This was a class nil/false screwup.
(PUP-542) Add structured facts to immutable $facts

When opting in with trusted_node_data or immutable_node_data the facts
are also available via $facts, an immutable hash of data.
(PUP-542) Improve descriptions of trusted & immutable node data settings
(maint) Add test for interpolation of setting having false value
PUP-1772 Change api for Puppet::Util::Profiler#profile to public

This patch changes the YardDoc annotations so that the class
'Puppet::Util::Profiler' is now public, and its method #profile
is also public.

The remaining methods are still marked as private, as they
aren't really needed by most external consumers.

Signed-off-by: Ken Barber <ken@bob.sh>
(PUP-542) Make tests pass on 1.8.7 ('hash' vs 'Hash' in message)
Merge pull request #2390 from kbarber/ticket/master/PUP-1772-profile-method-public-api

PUP-1772 Change api for Puppet::Util::Profiler#profile to public
Merge pull request #2389 from hlindberg/pup-542_structured-facts-support

(PUP-542) Add structured facts support
(PUP-1564) add :uninstall_options feature to package rpm provider
(PUP-1564) Add uninstall_options to RPM provider docs
Merge pull request #2319 from jhoblitt:feature/rpm_provider_uninstall_options

Merged with a fixup to spec tests to account for changes in abfc76c. Added an
update to generalize install options documentation from bb829da to cover
uninstall options as well.

(PUP-1564) Add uninstall_options to RPM provider docs
(PUP-1564) add :uninstall_options feature to package rpm provider