Threading restructure

Some fairly radical changes to coordinator/pikelet here -- isolates each running component in its own thread and EventMachine loop, such that exceptions from any of them can be caught and handled individually.

I need to do some further testing of the jabber client's exception handling, actually, so it's not ready to merge just yet -- but it could use some review.

This issue is an outcome of work aimed at fixing #143 and #115, where it gradually became apparent that some base structural changes would make things easier.