Support Arrays of Objects

Arrays of complex objects are sometimes returned in array types. This
provides limited support for complex objects in array type responses.
Some limitations with this implementation are the ability to use
properties directly in a definition. All properties must "$ref" a
definition in order to work. Presently, "$ref" is required for
properties in more than one place, so the tradeoff is acceptable.
Support for arrays of objects unblocks a critical bug in the build
resource of the Platform API, allowing an array of `line` objects in
responses to clients.