Add ebnf parser

* add hardcoded basic ebnf finite state machine
* add frag rewind
* add session test