make query builder smarter about column names

- table.* is now supported and quoted
- table.column is now supported and quoted
- column is still supported

using this abstract model now only loads the row data related to the
applicable table when calling loadRelated()