driver.close() before driver.start() should close

If you call `close` on the driver before calling `start`, it's currently ignored.  You might think this is just a matter of "don't use the API that way". But when it's being run from Faye WebSocket.Client, you don't really have a choice: `start` is invoked automatically and asynchronously when the TCP connection succeeds, and you definitely might want to change your mind and close the socket sometime between construction and TCP success.  I will create a PR for faye/faye-websocket-node as well adding a test (which depends on this PR).