Socket reconnect

this PR makes the following changes:
* prevents failures caused when not providing options for reconnect
* uses `options.reconnectTime` as the timeout for `checkForOpen`

@Kagetsume since you seem to also have an interest in this module, you want to review my changes for me?