Revamp parsing error handling a bit
Implement ItemType.String(); report position info in parser
Move parse.parseError to separate file
parse.parseError -> parse.Error; return *Error in Parse
Forgot to commit parse/error.go; pretty print parse.Error.
Use Item.String for user-friendly output, Item.GoString for debugging.
Slightly improve error msg.
Update comments.