Use a called rule stack to prevent stack overflow in LL1Analyzer
Use 0-based indexing for decision lookahead so we aren't wasting memory, and array indexing is now consistent with ATN state outgoing transitions indexing
Add some assertions
Use IntervalSet.or and Arrays.copyOf instead of duplicating their functionality
Updated documentation in LL1Analyzer
Merge pull request #252 from sharwell/tool-updates

Tool updates