Convert provided array data to ArrayObject instead of StdClass.

As discussed on (#91)[1], passing data provided as an array through to
listeners as an array is desirable, but can cause unexpected behaviour
in event handling as arrays are effectively passed by value.

As a compromise, passing an ArrayObject allows most of the advantages of
passing an array while allowing the data to be modified by event
handlers.

Additionally, in this implementation

* ArrayObjects have been created with ARRAY_AS_PROPS for backwards
  compatibility with code that expected arrays to be cast to objects.
* Resource actions which previously returned the original data if no
  response was provided by listeners now return the original data
  *before* being cast; this is potentially not backwards compatible, as
  code which passed in an array may be expecting to get back an object
  but will not.

[1]: https://github.com/weierophinney/PhlyRestfully/pull/91