use dict-ref instead of hash-ref
Use mutable hash-tables for O(1) access and insertion

Previously, configurations contained mutable hash tables. According to the
Racket docs immutable hash tables "provide O(log N) access and
update". Unfortunately, we process upwards of 200,000 abstract states which
corresponds to rather large hash tables. Note that lg(200000)   17. Furthermore,
the Racket docs note "the constant on immutable operations is usually
larger". All told, I saw an order of magnitude increase in overall time on the
line-calculator grammar. The Java grammar now terminates in about half an hour.

There is no reason to use immutable hash tables because I use the tables
linearly. Switching to mutable hash tables was an easy change which simply
mutates the table before returning it.