Notify all consumers awaiting results upon receiving tcp_closed message

Consumers in the redis_client's queue will be sent a `{error,
tcp_closed}` message if the connection to redis goes down. Since the
queue is reset as part of reconnect, this avoids consumers waiting for
a response they will never receive and hitting the gen_server:call
timeout.

This patch includes a small adjustment to the handle_info callback for
receiving TCP data in order to allow test code to fake a TCP closed
message. The fake close is achieved by sending a raw {tcp_closed,
fake_socket} message to redis_client. Since the unit tests use a real
connection to redis which will not have been closed, we have to be
able to handle additional data being received on the socket while
redis_client is in the process of handling the close and reconnect.
Merge pull request #42 from opscode/sf/tcp_closed

Notify all consumers awaiting results upon receiving tcp_closed message
Tagging v1.0.5
Removed the author tag from source files. Tagging as v1.0.6 (previous commit incorrectly mentioned v1.0.5)
gen_server compatible typing
Merge pull request #45 from hairyhum/master

gen_server compatible typing
Switched to short options

Fixes #48
Initial connection timeout
Use TIMEOUT macro instead hardcoded value
Run on all available erlang versions, including R15, R16 and 17. Tell travis we need redis.
Merge pull request #49 from jeromer/makefile_short_options

Switched to short options
only select database if it's not the default
Merge pull request #52 from mediocregopher/select-fix

only select database if it's not the default
Merge branch 'master' of https://github.com/tnt-dev/eredis into tnt-dev-master
simplify socket options states on connection establishment
honor inet:setopts/2 result
minor comment fix
add description for pmessage-tagged messages
comment minor fix
Check return code of inet:setopts/2