Juju provider for CloudSigma - client (for review)

This pull request is part of juju provider for CloudSigma contaning the following files:
- provider/cloudsigma/client.go
- provider/cloudsigma/client_test.go

See the incremental diff here - https://github.com/Altoros/juju-cloudsigma/pull/1

Provider for CloudSigma (https://www.cloudsigma.com) uses CloudSigma API v2.0 (https://cloudsigma-docs.readthedocs.org/en/2.10/).

Minimal client for communicating with the CloudSigma Web API from Go program was implemented as separate library https://www.github.com/Altoros/gosigma. This library is published under AGPLv3 license.

Do we have to wait for the instance to actually start here? The expectation is that we can fire-and-forget new instances, such that we have time to set them up in state (`SetProvisioned`, IIRC) before the agent connects.

If it's not possible, I wouldn't object too strongly to changing the StartInstance interface to accept a callback that stores the instance-id/nonce pair once it's known. Thoughts?