(PUP-2711) Make manifest-directory load recursively

This changes the loaded of a manifest reference that is a directory
to include all .pp recursively in this directory. The content is
sorted so that all content of directory b comes before file c in its
parent directory (rule applied recursively).
(PUP-2711) Make recursive manifest parsing conditional to future parser

This makes the ability to load all .pp files under a manifest dir
recursively conditional to parser == future. (It will become the
standard in Puppet 4.0). This is done to avoid slurping in lots of files
in case users kept other files around in a subdirectory in the belief
that they would not be loaded. Thus making it harder to upgrade.

This also adds a test that runs for future parser.
(PUP-2711) Remove '*' without effect.
(PUP-2711) Change use of Dir.glob to PathPattern.glob
(PUP-2532) Correct lookup of default parameters

The lookup of resource parameters via the type e.g. Notify[id][message]
performed the lookup in the calling scope, not the resource's closure
scope which resulted in parameter default values were being seen from
the perspective of the caller (they may be very different).

This corrects the lookup to use the resource's closure scope.
Merge pull request #2834 from hlindberg/PUP-2711_recursive-manifest-dir

(PUP-2711) Make manifest-directory load recursively when future parser is on
Merge pull request #2844 from hlindberg/PUP-2532_defaults-wrong-perspective

(PUP-2532) Correct lookup of default parameters