Error messages when a parsing error occurs.

Error messages are now tracked during parsing and multiple messages
can be returned. A higher level parsing class has been added to take
care of global parser state while the old parsing code is on a per-module
basis.

Segfaults don't happen anymore when a file fails to be parsed. Error
messages could still be better, but at least now the line and column
are reported.