(maint) Fix typos and remove dead code
(PUP-514) Invert use of parameters_specified

When see_scope was renamed to parameters_specified it was done
incorrectly and actually meant parameters_not_specified. The logic
seemed wrong and convoluted at the time, but I couldn't see how. Joshua
Partlow pointed out that parameters_specified was being set to true when
the parameters were actually *not* specified. By flipping all of this
around it all becomes a bit more obvious.
(maint) Use common mechanism for pushing scope

The block expressions were doing the ephemeral scope protection in their
own way, but duplicating the with_guarded_scope logic. This changes them
to all use the same way.
(maint) Remove optional_object

Object is now the top class and so there is no need to use
Optional[Object] everywhere. This removes the type factory method
optional_object and replaces all occurrances with just object. It also
updates all of the uses of Optional[Object] to use just Object.
(PUP-2271) Allow yumrepo proxy attribute to be set to _none_

Add fix and test to allow proxy to be set to _none_ to bypass global proxy
configuration for YUM.

See https://tickets.puppetlabs.com/browse/PUP-2271
Merge pull request #2763 from zaphod42/feature/master/pup-514-typed-parameters

(PUP-514) Add support for optionally typed parameters.
(PUP-121) Fix dynamic environments test to accept ::absolute classnames

One of the dynamic environment tests is an attempt to include a class
that is not in the default manifests during a puppet apply.  This
produces an expected error about the missing class; however, PUP-121
changed the message slightly because for future parser, relative
classnames get transformed to be absolute and an attempt to 'include
testing_mod' ends up reporting that ::testing_mod could not be found.
This commit just updates the test to check for ::testing_mod not being
found when working with future parser.
(PUP-2399) Fix my fix to the fix
Merge pull request #2769 from kurtwall/pup-2399-fix-fix

(PUP-2399) Fix my fix to the fix
(PUP-1057) Remove the function stubs for collect and select

These functions are just stubs that raises an error, and they are
no longer needed.
(maint) Fix typo in yardoc
(PUP-2557) Add deprecation of node inheritance

This makes a deprecation warning being logged whenever a
node is instantiated with a parent in 3x, and a warning is issued
during validation of the source text when future parser is used.

The intent is to remove the support for node inheritance in
Puppet 4.0.0.
(maint) Fix a typo in reserved word symbol
(PUP-2755) Move iterative functions to the new API

This moves all the iterative functions to the 4x function API.
Functions are now simpler to read. A shared utility module
was created for repeated asserts.

While testing it was clear that it is difficult to use
Puppet.lookup(:loaders), and the evaluator was changed to get the
loaders via the compiler instead.

The evaluator tests are changed to make use of the simplified
handling of the loaders.

The tests for the functions that have moved, were also moved, but
are unchanged in what they test.
(maint) Add leaky local scope tests

This adds tests that local and match scope handling is corrent
and does not leak variable bindings.
(PUP-2755) Fix issues after changes from PUP-514

This fixes merge issues that were not automatically done due to files
being moved and changed structurally.

The support for captures_rest was lost. This is now reinstated in
the shared IterativeSupport module and in reduce and slice where the
semantics of "serving_size" are slightly different.
(maint) Remove warning about expect().to in specs

The Puppet Gemfile is pinned against RSpec 2.11.x, so there should be any
reason to worry about RSpec 2.9.x.
Merge pull request #2775 from Sharpie/remove-rspec-29-warning

(maint) Remove warning about expect().to in specs
(PUP-2738) FFI::Pointer#read_win32_local_pointer

 - Create new block style helper that automatically calls LocalFree on
   a returned pointer after it's done being used. Since the ptr is no
   longer valid after the block yields, return nil from the method
 - Move FFI definition for LocalFree into FFI::WIN32 and out of
   Puppet::Util::Windows::Error and Puppet::Util::Windows::SID
 - Ensure that proper wide string is resolved / passed out of
   Puppet::Util::Windows::Error.format_error_code and
   Puppet::Util::Windows::SID.sid_ptr_to_string when resolving string
   inside of a block
 - Refactor Puppet::Util::Windows::SID.valid_sid? to read ptr inside
   block, use closure to store the 'valid' return value
Merge pull request #2658 from jpartlow/maint/master/util-dev-puppet-master-no-loglevel-defaults

(maint) Change dev-puppet-master script not to log debug and trace