You can now kind of read data from a TCP connection. Sort of.
Not adding every subdirectory to the include paths now. Also moved a few files around.
Kind of hacked in, but the basic structure is there. This is a bit tricky because toString needs to be called on the error object, so we have to run some Magpie code after an unhandled error has occurred. Still need to make the various Error classes define useful toString methods now.
Also get rid of generate(). It's a neat idea, but doesn't have the right semantics since fibers are eager. Something like generate() could be created, but it will need a pair of channels to ensure the generator doesn't run ahead of the thing pulling from it.
… in repl
Some tests relied on print() being synchronous.
This makes print async. That's good, but it breaks the async tests that (wrongly) assumed it was sync. The Task code could also stand to be cleaned up some.