Refactored grammar subword to a new class.
Implemented two of the three steps of the grammar optimization.
First implementation of the optimization. Still a few things to do to have a nice
performance.
Added a test to evaluate grammar opt correctness.
Improved grammar optimization performance.
Fixed dumb timeout bug.
Now the grammar generation only takes into account module calls that are part
of the contract.
Minor changes and cleanup.
Merge branch 'grammar-opt'.