(PUP-3621) Add search_paths and list to Cached environment loader

Recent changes to the Puppet::Environments::Cached loader changed its
construction so that it was no longer a subclass of Combined. This
meant that it no longer had search_path or list functions, which are
needed by the v2 environments to list known directory environments. We
were lacking spec coverage for this and it was caught by the
can_enumerate_environments system test.

In this commit, the Cached loader now delegates search_paths and list
calls to its @loader. Specs have been added for search_paths/list calls,
for the Combined loader in general, and for get_conf in Cached.
Accessors were added to EnvironmentConf for some of its internal
attributes so that it can more easily be tested.
Merge pull request #3300 from jpartlow/issue/stable/pup-3621-cached-environment-search-paths-and-list

(PUP-3621) Add search_paths and list to Cached environment loader