Add an error handler to TCP server.

Now if a channel is closed, we'll log the exception that caused it.
Some progress towards making telemetry a library.

Sketched out what a module init function takes and receives, and
structured the existing carbon module accordingly. Doesn't work yet.
Split carbon out into a module.

To 'migrate' to the new telemetry version you'll have to remove your
existing config.clj file, which is now incompatible. Telemetry features
seem to be working fine, except that somehow I've broken the query
parser or the router or something, so any query more complicated than
'abc' (eg, 'abc.x') just sees a stream of nils. More work needed,
obviously.
Merge branch 'master' into library

Conflicts:
	src/telemetry/core.clj
Remove some ? stuff
Fix my incomplete merge from master
Remove some debugging cruft
Add trailing newlines to HTTP responses
Remove debugging cruft
Make telemetry's server ports configurable
Clarify what data was invalid
Expose carbon wire format
Clarify intent with comment
Add test for the most basic functionality.

This test verifies that the HTTP server can accept a /listen? query that
goes to carbon, and then forwards data to it.