lt: better error handling

Let node handle the displaying of error and setting exit code.
fix for RangeError stack size exceeded

This error would happen when there was a problem connecting to the local
server. The local.on('error') handler should have been a 'once' handler
because we emit the error again if it isn't a CONNREFUSED. So in the
case of a CONNRESET, it would trigger an infinite loop since the error
was being emitted back onto the local variable. Instead we just close
the remote socket and let a new one takes its place.

fixes #36
Merge pull request #38 from LinusU/patch-1

re-throw client errors from bin/lt to let node handle it
1.1.1
fix typo

fixes #45
handle errors from localtunnel server when requesting initial url
fix status code check for url request
Increase default Mocha timeout
1.1.2
add --version CLI flag to get version info
Return client

This allows manipulating the client from outside. Allowing, for example, to close a connection.
Merge pull request #47 from dscape/patch-1

return client from 'localtunnel' api call
1.2.0
update history with two recent minor versions
transform Host header when local-host is defined explicitly
added test for chunked requests
fixed Host header replacement - remembers if header is already replaced and does not remove _transform method
fix code style
1.3.0
don't emit ETIMEDOUT-errors