Orchestration

The intent of this WIP PR is to solicit feedback on the PHP API of Orchestration early and often.

The first set of commits to this PR will be non-functional code samples for Orchestration. The goal of this exercise to design the Orchestration PHP API from the perspective of a developer using this API. Please review these commits as they come in and provide feedback. This will ensure that the feedback is incorporated into future commits.

Once the PHP API is finalized via code samples, the next set of commits to follow will be documentation of the API. Specifically, these will be a Getting Started Guide (similar to https://github.com/ycombinator/php-opencloud/blob/master/docs/userguide/ObjectStore/README.md) and a Complete User Guide (similar to https://github.com/ycombinator/php-opencloud/blob/master/docs/userguide/ObjectStore/USERGUIDE.md). There will be links from the latter to the previously-committed code samples.

Once the documentation commits have been reviewed and finalized, the final set of commits to this PR will be the tests and actual implementation of the API, that is the various classes under the `OpenCloud\Orchestration` namespace.

Once the tests and implementation have been reviewed and finalized, this PR will no longer be WIP. At this point, it may be merged.

To summarize:
* [x] Code samples
* [x] Documentation
* [x] Unit tests and implementation
* [x] Testing code samples against implementation
* [ ] Smoke tests

/cc @gecampbell @jamiehannaford 
I actually agree about a preview operation not modifying the initial object. Practically, this method _should_ never be called directly; instead, [`OpenCloud\Orchestration\Service::previewStack`](https://github.com/ycombinator/php-opencloud/blob/orchestration/lib/OpenCloud/Orchestration/Service.php#L52-L63) should be the entry point for previewing a stack. Since PHP has no concept like C++'s friends, I had to make this method `public` in the `Stack` class. This is not dissimilar from the create operation (see [\OpenCloud\Orchestration\Resource\Stack::create (inherited)](https://github.com/ycombinator/php-opencloud/blob/orchestration/lib/OpenCloud/Common/Resource/PersistentResource.php#L31-L62) and [\OpenCloud\Orchestration\Service::createStack()](https://github.com/ycombinator/php-opencloud/blob/orchestration/lib/OpenCloud/Orchestration/Service.php#L65-L76)