Convert provided array data to ArrayObject instead of StdClass.

As discussed on https://github.com/weierophinney/PhlyRestfully/pull/91, 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.