Provide a parse tree view to solve issue #12

Add a `tryParseTree()` method to `Parser`. The code has been tested against a relatively complex project of mine. The result is satisfactory to me. You can review the test cases to see the result.
How is this different from the following idiom?

```
ParseResult result = new ParseResult();
try {
  result.setResult(parser.parse(...));
} catch (ParseException e) {
  result.setException(e);
}
```

I also wonder how it's related to the ParseTree proposal. Is it an orthogonal feature?