Don't process the same class for joins twice.

Repeated processing results in invalid and redundant SQL, such as a
table joining to itself on ID without names to differentiate the two
copies.
New test for diamond inheritance to the same table.
Don't select the same columns multiple times with diamond inheritance

Change-Id: I228c102e72942c8b98de9a11b838a322c65be182
Merge pull request #52 from tmooney/duplicate_table_declaration

Only process each class for joins once.