Update perftest to run single files
Add scripts to generate the lr tables

This allows the parser to used the cached lr table for a significant
performance boost.

Due to the way that ply caches/verifies the generated lr table, we
need different versions for both py3 and py2.

What this means in practice is that you'll have to run
bin/gen-tables on both python2 and python3 when changing the grammar.