FEATURE `RuleViolation.__str__`

Add `RuleViolation.__str__` method. This enables better output when an
uncaught `RuleViolation` is raised.