Cluster: Fix segfault if cluster config corrupt

This commit adds a size check after initial config
line parsing to make sure we have *at least* 8 arguments
per line.

Also, instead of asserting for cluster->myself, we just test
and error out normally (since the error does a hard exit anyway).

Closes #1597
Sentinel: Reject config from STDIN

Sentinel needs to die with a more accurate error message
when attempted to open a config from STDIN.

See: https://groups.google.com/forum/#!topic/redis-db/sYx7VNMWaNM
Stop tests from leaving a black background

Uses ANSI "default background" color code after closing tests
so any non-black terminals don't remain polluted.

Fixes #1649
Closes #1912
Use correct github url to find commands.json

Once this is merged:
  - merge the latest changes to commands.json in antirez/redis-doc
  - re-run: utils/generate-command-help.rb > src/help.h

Then we'll have nice and easy tab-completed help in redis-cli again.

Closes #1909
Sentinel: fix bufsize to support IPv6 address

Closes #1914
Rename two 'buf' vars to 'ip' for better clarity

Clearly ip[32] is wrong, but it's less clear that buf[32] was wrong
without further reading.
redis-benchmark: add auth option

Closes #1097
redis-benchmark: Remove unused buffer

This just deletes old code that didn't get removed when
logic changed.  We were setting offsets that never
got read anywhere.

Since clients are now just cloned, we don't need to track
per-client buffer offsets anywhere because they are all
the same from the original client.
Deny CLIENT command in scripts

We don't want scripts doing CLIENT SETNAME
or CLIENT KILL or CLIENT LIST or CLIENT PAUSE.

Originally reported by Chris Wj then proper
action inspired by Itamar Haber.

Reference: https://groups.google.com/forum/#!topic/redis-db/09B2EYwyVgk
Fix redis-benchmark abort output