Change cloudi_service_tcp, cloudi_service_http_cowboy, and cloudi_service_http_elli to use the cloudi module to avoid making the parent Erlang process a bottleneck. Add the websocket_connect and websocket_disconnect arguments to cloudi_service_http_cowboy, so that service requests can be sent when a websocket connection is created or destroyed. Add the use_spdy argument to cloudi_service_http_cowboy.