Run thin servers outside of EM-sync block, threaded (WIP)

Runs OK but the shutdown isn't yet handled properly.
Merge branch '143_handle_executive_exceptions' into 133_stack_error_debugging
test fixes
remove rack-fiber_pool
bugfixes, restore fiber_pool (should still work OK)
re-enable thin pikelet reloading, ensure EM loop is around web/api.start
Merge branch 'master' of github.com:flpjck/flapjack into 133_stack_error_debugging
remove WIP cruft
refactored pikelet start & stop, all in separate threads

exception handling still needs further work.
Merge branch 'master' of github.com:flpjck/flapjack into 115_handle_jabber_server_stop_or_restart
Debugged newly separated structure, tests passing.

Finally in a position to work on making exception handling smarter.
Merge branch 'master' of github.com:flpjck/flapjack into threading_restructure
Restructured pikelet init, split jabber pikelet in two

It should now be possible to run more than one
component per pikelet, and to catch exceptions in
each one without interrupting other parts of the
running application.

Still TODO:
* fix pikelet config reloading (parts stubbed out for the moment)
* work out correct behaviour for exception handling
* implement pending tests
* test running code more widely, to check that
  these structural changes haven't broken anything
fixed config reloading, conditionally restart pikelet on error
Merge branch 'master' of github.com:flpjck/flapjack into threading_restructure
implement pending spec
global shutdown on pikelet raising error
Merge branch 'master' of github.com:flpjck/flapjack into threading_restructure
jabber fixes
general gateway refactoring to cope with pikelet changes, WIP