(PUP-2158) Hide dir envs behind a feature flag

In too many cases, having the directory environments enabled by default
caused user's dynamic environments to be detected as directory
environments. This caused broken environments, sometimes in very subtle
ways.

This changes it so that directory environments are not enabled by default,
but can be turned on. It does this by defaulting the environmentpath to
the empty string, and using the empty string to denote disabled directory
environments. When directory environments are enabled, legacy environments
are disabled, and vice versa.