Various fixes for overloading operator conflict detection

If a role consumes another role, the consuming role's overloaded operators
just win, rather than being a conflict. Fallback setting conflicts are still a
conflict, however.

If there are operator conflicts during role summation we check the method
bodies and only make it a conflict if the bodies are different. This handles
the case where two roles got their overloading from the same source (another
role).