Updated Websocket Implementation

Added ability to keep websocket alive. (Added to
baseWebSocketExchangeService, so MtGox will also benefit from this.) -
Note: Cannot test MtGox streaming service for incompatibility, due to
servers being taken offline)
> Added methods to support keep-alive
ReconnectTask will trigger only if websocket status is not
"READYSTATE.OPEN"
> Added methods to check for websocket status
Moved reconnectService's interception of ExchangeEvents to
WebsocketEventProducer
> More predictable outcome; will use last data receipt time rather than
last retrieval time
Added new ExchangeEventTypes for coinfloor-specific methods