Allow shapes to be bound directly to a service
This feature allows shapes to be directly bound to a service, meaning that the service closure can now contain shapes not bound through its resources or operations. This is useful for vending shapes that match other integrations, like CloudWatch events or SNS messages. It can also provide shapes that match known schemas for document contents.
It also updates the @cfnResource trait to require that any shape
listed as an additionalSchema is within the closure of any service
that contains the resource.
Existing code generation tooling will need to be updated to handle generating these shapes and [de]serialization code for them.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.