The design of the checking function to call has been modified - it should now return either None if
the check passes or an instantiated RelaxError object if not. This is then used to determine if the
__call__() method should return True (when None is received). Otherwise if escalate is set to 1,
the text from the RelaxError object is sent into a RelaxWarning and False is returned. And if
escalate is set to 2, then the error object is simply raised.