Reduce complexity in 2  _inverse_of methods

In polymoprhic_inverse_of:
Use an early return and a guard to raise an error instead of nested if statements which in the true/true case returns the condition of the if statement

In automatic_inverse_of:
Fix the comment to say false instead of nil
Reduce complexity by moving to a early return and a method level rescue instead of a begin..rescue..end.
Eliminates an explicit return in the middle of the method
:-1:, this change makes rescue NameError scope less precise (the whole method) instead of only the line it is expected at, making it harder to debug and higher chance of it rescuing when it shouldn't be