SSLR-256 Add more performant implementation of AST browsing API

Main difference with previous implementation - all operations are eager.
On my machine overhead of use of this API are insignificant in
comparison with operations on AstNode.
SSLR-256 Add more tests
SSLR-256 Fix tests
SSLR-260 Remove class LeftAssociative
SSLR-250 First implementation of the new API to define grammars
SSLR-250 Use reflection to construct matcher instances
SSLR-256 Add support of predicates into AST browsing API
SSLR-256 Remove dead code
SSLR-256 Add more methods for navigation into AST browsing API
SSLR-250 Add support for the lexerful stack
SSLR-250 Add the support of rule level memoization for the lexerful stack
SSLR-256 Add more methods for filtering into AST browsing API
SSLR-250 Add some tests
SSLR-254 Toolkit: Don't intercept selectAll (Ctrl+A) shortcut in source code editor
Enforce that parameters nonnull by default
Fix some quality flaws
SSLR-250 Remove duplicated code
SSLR-250 Improve API
SSLR-262 Add sslr-examples
SSLR-250 Improve API