fixes #4700 - deploy directory environments on Puppet 3.6 or higher

Also see commit messages for more detail.

Untested at the moment, will do next week in conjunction with https://github.com/theforeman/smart-proxy/pull/168.

Is the deprecation OK?  I don't see much point in keeping the dynamic envs boolean now there's no change in puppet.conf between the default prod/dev environments and no environments at all (via `$server_environments = []`) when using dir envs.

Replaces #158.