(PUP-1151) Add documentation for environments endpoint
(PUP-1151) Specify JSON and error responses

We need to move away from PSON in puppet. Using V2 as a switching point
is as good as any. This also specifies how error responses are
formatted.
(PUP-1151) Have puppet depend on json

In order to have the v2 api emit and consume JSON puppet will need to
have access to a json library. This adds it to our dependencies for
debian, redhat, and gem packages. This should be a safe thing to do
since puppet already needs hiera and hiera depends on JSON, so this is
just taking the same dependency that hiera already had and applying it
directly to puppet.
Merge pull request #2240 from zaphod42/feature/master/pup-1151-environment-enumeration

(PUP-1151) Document environments responses