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.
well, i'll do a thorough search on monday. we have a jvm team in our company. don't think we're gonna need a benchmark. before that, have we come to a conclusion that we are keeping this api (against the or() combinator)?