(Maint) Move initialize near top

The initialize method was hard to find buried down after line 300. This
moves it closer to the top so that a reader of the code and more quickly
see how things are setup.
(Maint) Extract class to encapsulate value translation

The value translation code has been buried deep inside the general
settings handling, which has made it hard to find, reuse, and test. This
pulls out a class that can be used for setting value translation.
(Maint) Extract value translator for settings

Pulled out a class for the translating of values that are going to be
used as settings and added tests around that code.
(Maint) Use value translator directly

This removes an unneeded method that simply called through to the value
translator. There don't seem to be any users outside of the settings.rb
file that were actually using this method.
(Maint) Remove unneeded parse_file method

This method simply delegated to another class. There were no users
outside of the settings.rb file, and so it is just inlined.
(Maint) Remove unused method sectionlist

This method isn't being used anywhere, even in other projects that I
checked.
(Maint) Remove code to support multiple config files

Support for merging config files had been removed, but some of the
supporting code was missed during the removal. This removes the rest of
the support in settings.rb to handle merging multiple config files.
(yardoc) Add @status (transitive) and @comment (hidden) doc tags.

This adds two supported tags to the yardoc processing:

@status, a transitive tag for marking a state such as EXPERIMENTAL on
a documentable element and everything it contains.

@comment, a hidden tag that allows part of a comment that is otherwise
processed as documentation to be excluded from the processing.

# This is documentation
# @comment but this is not
#   and this is also part of the comment
#
def something(); end
(yardoc) Refactor status for Puppet DSL; from @since to @status.

This adds @status EXPERIMENTAL and removes the same note from @since.
Merge branch 'master' of ssh://github.com/puppetlabs/puppet.git
Update launchd test for 1.9.3

Previously, the spec tests for the launchd service provider would
fail on Ruby 1.9.3 because the mocked objects for the launchd_paths
and return_globbed_list_of_file_paths methods would return strings
and not arrays (and in Ruby 1.8.7, you could call .each on a string
and have it return the string object).  This commit fixes that by
returning an Array and not a String.
(Maint) Add YARD tags to return_globbed_list_of_file_paths method

This should help align the expectations of the spec files with the
implementation itself.
Merge branch 'glarizza-bug/3.0.x/17624_spec_failure' into 3.0.x

* glarizza-bug/3.0.x/17624_spec_failure:
  (Maint) Add YARD tags to return_globbed_list_of_file_paths method
  Update launchd test for 1.9.3
Merge branch '3.0.x'

* 3.0.x:
  (Maint) Add YARD tags to return_globbed_list_of_file_paths method
  Update launchd test for 1.9.3
(#7316) Add method to expand autoloaded paths

Several places use an Autoloader to list files that could be loaded
relative to some prefix, e.g. puppet/application. But then the same
prefix is specified again when requiring a specific instance, e.g.

    require File.join('puppet', 'application', name)

This commit adds an Autoload instance method to expand a path, so the
above becomes:

    require @loader.expand(name)
(#16753) Add write only YAML cache for nodes.

This is done to allow node information to be written in the same fashion
it has been done in earlier puppet versions for the purpose of being
available to query this cache with the YAML terminus.
(#16753) Add acceptance test for write only yaml cache.
(#16753) Make it possible to turn off the woy cache.

Since the :woy cache is on by default for the master application
and this means that there will be a cache file for every node that talks
to the master there should be a way to turn this off. This commit adds a
node_cache_terminus setting (nil by default), and with an app default of
:woy for the master application.
(#16753) Change name of 'Woy' to 'WriteOnlyYaml'

This commit also contains cleanup of trailing whitespace.
The name change means using :write_only_yaml instead of :woy.
(#16753) Fix issue with facter terminus not being set to yaml.

There were two methods with the same name (setting up app defaults for
master). This made facter use a terminus that did not allow saving.