Fix #202 by stopping method redefinition

The stack overflow was caused by recursively redefining `#set_value_without_coercion` in nested subclasses that include the Coercion extension. Checking to see if that method is already defined stops that issue from occurring.