[WIP] Orchestration

**Important note:** This pull request is a work in progress (WIP). Please do **not** merge it until "[WIP]" is removed from the PR title.

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:
* [ ] Code samples
* [ ] Documentation
* [ ] Tests and implementation

/cc @gecampbell @jamiehannaford 
1. > If no :// is detected, you treat it as a local path.

   Should we require that users use the `file` scheme if specifying local paths? That would give the users exactly one way to specify a local path and simplify detecting in-memory templates.

1. > Hmm, do we support the ability for templates to be defined and accessed as string representations? I thought they were commonly saved to file

   In most cases I imagine the template comes from a local or remote file. That said, I could imagine something like [Laravel Forge](https://forge.laravel.com/) creating a template in memory as a string, based on the end-user's choices. So I think we should support this option.

So, putting the two points together, how about this: the user must use the `http` or `https` schemes for remote content or the `file` scheme for local files. Anything else will be treated as an in-memory string representation of a template. What do you think?