(PUP-2711) Make manifest-directory load recursively when future parser is on

This makes recursive loading of manifests available when the future parser is on. All .pp files in the manifestdir and its subdirectories will be loaded in alphabetical depth first order (a directory's entries are processed alphabetically, if it is a directory, it is processed before the remaining files in the current directory).
This should probably be going through the Puppet::FileSystem layer and then it can deal with differences correctly. A good api might be something like `Puppet::FileSystem.glob(*parts)` which allows it to handle any unwanted escaping itself.