[#31] Allow Resource::fetchAll() to return arbitrary objects

- Modified `Resource::fetchAll()` to allow returning arbitrary objects
- Modified `invalidCollection()` data provider to remove case using
  `stdClass`, as that case is invalidated.
- Renamed `testFetchAllReturnsEmptyArrayIfLastListenerDoesNotReturnArrayOrTraversable`
  to `testFetchAllReturnsEmptyArrayIfLastListenerReturnsScalar` to
  clarify new intent.
[#31] Allow returning entities via `getList()`

- Modified `getList()` to look for non-array, non-`Traversable`,
  non-`ZF\Hal\Collection` object returns from `Resource::fetchAll()`,
  and to pass those to the `createEntity()` of the Hal plugin instead of
  `createCollection()`.
- Updated `create()` to check for a null identifier on the returned
  entity and explicitly return an ApiProblem in that situation (the
  previous behavior).
[#31] ensure latest zf-hal is used

- Will change this to `>=1.0.2,<2.0` when zf-hal is tagged at 1.0.2.
[#31] Updated zf-hal requirement to 1.0.2

- Updated zf-hal to 1.0.2 (to pick up required changes in the hal plugin)
Merge branch 'hotfix/31'

Close #31