FIX: belongs_many_many back to the same class type

Currently SS get's confused when referencing multiple of the same DataObject type in a belongs_many_many definition using the dot notation.  It doesn't recognize the dot notation at all, and leaving it off means it will just choose the first match in the many_many definition which isn't correct.  This adds in the dot check and reverse look-up functionality allowing for multiple definitions.

Updates from PULL Request #3409
* formatting fixed (spaces to tabs)
* restored summaryFields function to original format (couldn't figure out why I changed that, might have been going down a rabbit hole at the time)
Tabbing is a bit off here.