Add support for self-signed SSL certificates in API and plugins.

Adds the ability for users of the Java API specify that self-signed SSL certificates issued by the same domain as the Cloud Controller endpoint should be accepted. 

This includes some refactoring to isolate the responsibility of setting up the `RestTemplate` and `OauthClient` used by the API to one class, as well as determining the authorization endpoint. These responsibilities were spread across multiple classes. 

The `updateHttpProxyConfiguration` method was removed, as it was complicating the responsibility of setting up RestTemplate and it should not be necessary to change the basic characteristics of the connection once it is established. 

Configuration parameters named `trustSelfSignedCerts` were added to the Maven and Gradle plugins to enable this feature in the plugins.