allow "foreign" keys to point to the same table

This is a simpleminded approach to having the automatic
dropdowns, list display, etc work when your "foreign key" is
actually in the same table.  Without this, you get ambiguity
in your SQL because two tables have the same alias.
Switch foreign key join to left join

Need a left join, or we don't see the rows in
list view where the foreign keys aren't set (in
the case of foreign keys that are nullable)
Merge branch 'feature/slightly_smarter_aliases' into msouth_release

Pulling in the feature allowing you to have foreign keys pointing to
the same table.