fix caching of "false" settings
Add DRY support for boolean parameters

Boolean parameters are common and used several places in the codebase,
as well as in user code.  Without this change, each parameter requires a
description of true and false values, and code to recognize those
values.  That is implemented slightly differently from place to place,
leading to inconsistent behavior for users.  And anyway, it's all WET.

Instead, this concentrates the implementation in one place.  This is
easier for users (a consistent set of true/false values) and developers
(less boilerplate and easy resulting values -- Ruby's true and false,
not :true or "true" or anythign like that).
(maint) add yardoc for Puppet::Settings#value
Add unit tests to ensure false values are cached
Merge branch 'pull-1622'

This closed GH-1622
Merge remote-tracking branch 'pr/1607'
(maint) Fix enc with storedconfigs failure on Fedora 18

Without this patch the acceptance test that exercises the behavior of
the ENC script when ActiveRecord storedconfigs is enabled fails on
Fedora 18.  We need this to pass for the Puppet 3.2 release.

The root cause of this problem is that the test setup phase assumes the
package name for the sqlite ruby gem is rubygem-sqlite3-ruby.  This is
true for CentOS and RHEL systems, but Fedora 18 uses a package name of
rubygem-sqlite3.

This patch addresses the problem by using a Puppet selector to change
the package name depending on the operating system of the system under
test.

Paired-with: Josh Partlow
Merge branch 'fix_enc_node_issue' into stable

* fix_enc_node_issue:
  (maint) Fix enc with storedconfigs failure on Fedora 18

closes #1634
Merge branch 'stable'

* stable:
  (maint) Fix enc with storedconfigs failure on Fedora 18
Merge branch 'master' of https://github.com/puppetlabs/puppet