Squashed version of @noisesmith's irclj version update

This is the same diff as #102, but with the weird self-conflicting history all squashed out into a single commit.
Hrm. It should really all be combined into one call to print. I thought there was a function like `pprint-str`, but it looks like there isn't. Maybe we just wrap the call to `pprint` in `with-out-str`.