Make assert.has_error print the actual and expected errors on failure

It used to print "Expected error to be thrown." in the case of an error mismatch, which was misleading.
Now it always prints which error was caught and what was expected.
Merge pull request #64 from tbastos/master

Make assert.has_error print the actual and expected errors on failure