Table joins on collections are used to optimise loading objects. Currently, only one table join can be specified on a collection. However, there may be multiple tables that need to be joined because there may be multiple referenced / foreign objects that can be loaded from the same database record. Currently, the way to do this is to override the IDatabaseObjects.TableJoins function.
Added support for multiple TableJoinAttribute definitions. Closes #44.