Improve the run matcher's and_raise_error

This patch makes the .and_raise_error method of the run matcher behave more like
the built-in rspec `raise_error` matcher.

As a side-effect it softens the requirement on the exception class raised
so that .and_raise_error(/foo/) can shortcut to matching any Exception
class with the correct message.