Add lambdas

Includes a better way of constructing the initial env, taken from the
book.

Could probably add the left-left-lambda to pattern matching too.
Add some IO primitives

This required a bit of moving things around, so that the IO primitives
have access to parsing.