redis-cli --pipe: send final ECHO in a safer way.

If the protocol read from stdin happened to contain grabage (invalid
random chars), in the previous implementation it was possible to end
with something like:

dksfjdksjflskfjl*2\r\n$4\r\nECHO....

That is invalid as the *2 should start into a new line. Now we prefix
the ECHO with a CRLF that has no effects on the server but prevents this
issues most of the times.

Of course if the offending wrong sequence is something like:

$3248772349\r\n

No one is going to save us as Redis will wait for data in the context of
a big argument, so this fix does not cover all the cases.

This partially fixes issue #681.
redis-cli: introduced --pipe-timeout.

When in --pipe mode, after all the data transfer to the server is
complete, now redis-cli waits at max the specified amount of
seconds (30 by default, use 0 to wait forever) without receiving any
reply at all from the server. After this time limit the operation is
aborted with an error.

That's related to issue #681.
sds.c: new function sdsjoin() to join strings.
anet.c: Allow creation of TCP listening sockets bound to N addresses.
Cluster: use new anet.c listening socket creation API.
Ability to bind multiple addresses.
Revert "anet.c: Allow creation of TCP listening sockets bound to N addresses."

Bind() can't be called multiple times against the same socket, multiple
sockets are required to bind multiple interfaces, silly me.

This reverts commit bd234d62bbfe9feb735fd6d1cdb8f5ce811f54b4.
Revert "Cluster: use new anet.c listening socket creation API."

This reverts commit 016ac38a216d1b701991a451e637ca584f804f93.
Binding multiple IPs done properly with multiple sockets.
Example redis.conf: bind to multiple interfaces documented.