unexport the env command EnvName value

This PR finally manages to hide the EnvName from the environment command.

A ConnectionEndpoint function is moved from the juju package, along with the tests.

A ConnectionName method is added with the caveat that the name may be empty.

The EnvironName method on the wrapper was never called, and was confusing, so I removed it.

The manual provisioning still takes a connection name, but it should be changed to take either the config or api end point. This will be addressed in a follow up branch.

The testing of the api end point caching was in the wrong place. It stays in the juju package, but in a different test suite.

Also noticed that this diff did not include the removal of the function that was the original. This is fixed in the version I'm about to push (and will probably hide this).  This shows that the method was just effectively moved from the old location.