Introduce vat and reactor abstractions.

The reactor is vastly simpler than the one in Twisted or asyncio, since
Monte's model is simpler than Python's. It mostly just handles calling poll()
right now.

Signed-off-by: Corbin Simpson <cds@corbinsimpson.com> <simpsoco@google.com>
objects: Isolate, test, and clarify equality.

Equality is normally pretty primitive and closely tied to the ref/promise
system, so it deserved a complete rewrite. (Again; this is the third
incarnation.)

There's a stack of tests in here. Everything should work.

Signed-off-by: Corbin Simpson <cds@corbinsimpson.com> <simpsoco@google.com>