3.0 - ORM select additional fields

This solves #4360 and is an alternative to #4379.  I originally tried an approach similar to that taken in #4379, but found my solution wasn't very nice. Instead I decided to have a new accessor that allows a developer to indicate that they want the automatic fields in addition to the defined columns. This allows people to use computed fields and still get their model fields.

I've also taken care of making it work with `contain()` query builders.