adding better support for handlers

Ignore-this: afa629036f1ddb6e3000a6b15d0a7c15

Also fixed a threading bug where the thread may start calling the service_map handle
while handlers were being added.

Didn't want to add a mutex so I added a start method which allows client classes to
start the service after the create the handlers.

darcs-hash:20141002032805-c21fe-deb2dc0f71314dbecc5f89c876e14eb803385e62