Better error handling. Errors are now caught and passed in the callback.

This changes the signature of the parse method, so it's the same as each other
node module async thing (even though it's not even async in the browser.)
0.1.0