(PUP-3642) Remove environment name from URL path

This commit makes some changes to the indirector network layer
such that the environment name is no longer a part of the main
URL path structure.  This will allow us to have a more finite URL space
and run Puppet in the same webserver with other apps, without
worrying about URL collisions.  Instead, the environment becomes a query
parameter.
Discussed over chat with @cprice404 whether we need to be concerned about what happens if a param gets set in both the query string and in the body. Based on what's here, the query string will win out.

This seems to be opposite to what Rack does, where it seems that a parameter in the body will win out over one in the query string (https://github.com/rack/rack/blob/master/lib/rack/request.rb#L229-L233). We reached the conclusion that we should be consistent with Rack here and params in the body should win out over those in the query string.