Added additional staging parameters for push. Updated domain management to match REST API changes.

This PR adds two additional parameters to the Staging object, to be used when staging an application - `health_check_timeout` and `stack`. It also adds the ability to retrieve the list of available stacks on the target platform. 

The management of domains on the platform changed recently, and the REST endpoints changed accordingly. The REST endpoint changes were done in a way that was not backwards-compatible. This is being addressed on the backend, but in the meantime most of the integration test suite was broken. This PR also includes the changes necessary to use the latest domain management endpoints and semantics: 

* shared domains are visible to all organizations on the platform
* private domains are visible only to the organization in which they were added
* domains are no longer mapped to spaces, but are visible to all spaces in the org to which they belong

The semantics of a few methods changed accordingly, but the methods are functionally very similar to before. It is only possible to add and delete private domains with the Java API currently. Adding and deleting shared domains requires admin rights to the platform, and is probably the less common use case. Adding and deleting shared domains can be added later if needed.