Add stacktrace to ParseError

Fixes #854. Also clean up the parse error test a little, while adding a .stack check.
The point is that if it's in the ```catch``` block, you don't have to check if ```e``` exists. I'd argue that if it isn't a ```ParseError``` there is nothing we can/want to do so we should exit immediately, but that's just a matter of personal preffernce I guess.