Supports early binding for all references which also require other table joins. Closes #81.

Traverses "horizontally" across the class hierarchy to determine
whether a referenced item also requires another table join. For
example, an purchase order which refers to a supplier which refers to a
branch.

Refactored GetTableJoins into two functions for recursive calls when
traversing "horizontally" across the object heirarchy.

Also removed the first superfluous IDatabaseObjects argument to
GetTableJoins.