Stuff we will need to cover here:

* BelongstTo, HasOne, HasMany and BelongsToMany
* Specifying a different property name for results
* Using the 'matching' options
* Selecting an eager loading strategy (select vs subquery)
* Adding conditions for contained tables
* Selecting fields and adding an order for contained tables