(PUP-1699) Add remote environment to plugin downloader calls

Puppet::Configurer::Downloader is also called by the plugin face, but we
were not submitting an environment there.  On Ruby 1.9.3 this nil
environment was being interned as :'' and would produce a failure server
side when a request with an empty environment was parsed.  On Ruby
1.8.7, nil raises an error when interned and it was failing much sooner
on the agent side.

To resolve this, we're passing in a reference to the configured
environment. Also added an integration test for the plugin face, because we
weren't seeing any failure in our test suite.