Made refreshState not wipe the composition of the Parser.
This is to allow the HammerFramework to reset a parser without needing
knowledge of what it's playing.
HAMMER now has a timeout on IO (default 5s, not yet configurable by a
test) which will fail a test if triggered.
Also added support for the "=" operation in tests. This restarts the
program from the beginning. This allows a test to test multiple
different inputs to one program easily.