Implement ‘key’ correctly for Unix.

I feel funny about my implementation here, which both echoes the key pressed AND follows it with a newline.
This latter addition feels like a bug, but it does make ‘key’ like a single-character, no-return version of ‘read’.
Moreover, the animal.ach program seems to have been written to expect it.
Allow games to ‘RESUME’, and keep ‘system’ safe from deserialization

Eventually we may want to save and load the parser state, but for now, leave it and ‘null’ alone.
Implement and test the “quote me” operator

By itself on a line, it turns into shorthand for a “write” statement, but in an expression, is a type of text literal
for/each implemented but no unit tests

Did test it with the REPL.
The IdIndex is picking up some tech debt. I added ‘count’ to it but it has no comment nor its own unit test yet.
Cumulative-assignment operators and logical operators

Still missing ‘random’ and ‘power’
Exponentiation and random

Some hurried sloppiness here about the ranges and domains of these guys.
Fixed subtle problems with = and ~=, and was able to play an adventure!
Be able to compare ABSENT.

So close! Can play gorreven-dbg.ach, mostly. There are some bizarre failure cases, around the cot and the elevator.
I can’t tell if the debugger is fooling me, if I’ve got real memory problems, or some logical subtlety.
The one error that Xcode Analyze found.

Big deal. I want my valgrind.
Simplify message dispatch

gorreven.ach runs a little better now. The elevator works, and there’s no error message when getting onto the cot.
But things are still wrong. There is no “room description” for the cot, and the elevator call button doesn’t work.
Still some subtleties about inheritance and ABSENT, maybe. When I figure them out I’ll write tests.
Get the default-method resolution order correct.

It’s better, but still not right. I can go to the cot, but the elevator call buttons aren’t present.
Ouch. ‘system’ needs to record sender, not self!
Remove dispatch and inheritance debugging