Fix #305: presenting arrays of objects when the entity class isn't explicitly passed into present

I wrote two failing specs and then refactored the code a little to make them pass. I tried to mirror the formatting as much as possible.

I had to manually create a named class in one place in order to properly create a failing test. Using `Object` wouldn't work because of the way `present` walks up the ancestor tree.

I also made an explicit choice to derive to auto-detect the entity from the first object in the collection because it was the simplest solution. It might make sense to expand it to auto-detect the entity of each object in the collection, in case someone returns a collection with different types of objects.