(PUP-3341) use the proper manifest with puppet apply and ENC

The apply application works by overriding the :current_environment with the
file that was specified on the command line. This had no effect when the node
object (from the ENC) specified an environment of its own.

Remedy this by looking up the node before the environment, favoring its
environment over the configured value and overriding the :manifest of the
chosen one.
(PUP-3341) update apply spec test to make ENC specify env
(maint) prepare apply integration spec for environments
(PUP-3341) prepare apply spec for non-modulepath related tests of environments
(PUP-3341) add tests for the changed behavior

It was decided that (for the time being) puppet apply should behave
like agent/master when an environment is configured (or specified via
command line argument) and prefer the environment that was returned
by the ENC. A warning to that effect should be displayed to the user.

(The warning is not added through this branch - we had this already.)