Add stacktrace to ParseError

Fixes #854. Also clean up the parse error test a little, while adding a .stack check.
Well, it's true that the message is nice and descriptive if we leave it that way, but personally I think it's better to explicitly check that the error exists with a test rather than tie it up with checking the error message. It makes the intent of the test clearer.