Revert "FollowMatchersVisitor: make the initial context a constructor parameter"

This reverts commit 6079dd0aaa6f89496457b7898654c024cc9130df.

This is wrong. The context to "unroll" (for lack of a better word) changes with
time!
Preliminary version of JoinMatcher
JoinMatcher: some modifications

Matching not written etc.
JoiningRuleBuilder: implement min(), max(), times()
Modify Join{ed,ing}RuleBuilder

Make JoinedRuleBuilder accept a BaseParser as an argument so that it can use its
.toRule().
JoiningRuleBuilder: add .range() method

Takes a Guava Range as an argument. Sanity tests. But not tested yet...
More code for JoiningRuleBuilder, and start tests
Change yet more join code...

One day I'll decide on class names etc! One day...
Make JoinMatcher abstract, specialize cases

There are quite a few of them!
Add class tests for generated JoinMatchers