Comment cleanup
Comment cleanup
Rewrote BidirGenCache

It was unsuprisingly quite broken.
At the same time added dynamic previous value caching, by giving test function
to clear the cache.
Moved BidirGenCache class to separate module
Added tests for BidirGenCache
Fix first call to get_current_token in Parser.parse()

BidirGenCache prev() doesn't anymore unintuitively generate new values, so we
need to get the first current token.
bidirgencache: add prev, next cache getters
rparser: add posibility to provide orginal input for the parser

This is mainly for better debug messages.
rparser: move child_visitor out of Parser

Move is made to the module level, this is because the visitor is used outside
the parsers scope.