WebSocketClient: always use Error objects on error

when connectFailed is emitted via failHandshake() a string is emitted
if connectFailed is emitted via handleRequestError, and thus via
http.ClientRequest an Error object is used.

This patch attempts to streamline the use of Error objects.
Merge pull request #86 from timkuijsten/error-objects

WebSocketClient: always use Error objects on error