Auto-enter slaveMode when SYNC from redis-cli

If someone asks for SYNC or PSYNC from redis-cli,
automatically enter slaveMode (as if they ran
redis-cli --slave) and continue printing the replication
stream until either they Ctrl-C or the master gets disconnected.
Sentinel test: basic failover tested. Framework improvements.
Sentinel test: check reconfig of slaves and old master.
Sentinel test: ODOWN and agreement.
Sentinel test: check that role matches at end of 00-base.
Sentinel test: some reliability fixes to 00-base tests.
Fix "can't bind to address" error reporting.

Report the actual port used for the listening attempt instead of
server.port.

Originally, Redis would just listen on server.port.
But, with clustering, Redis uses a Cluster Port too,
so we can't say server.port is always where we are listening.

If you tried to launch Redis with a too-high port number (any
port where Port+10000 > 65535), Redis would refuse to start, but
only print an error saying it can't connect to the Redis port.

This patch fixes much confusions.
Cluster: error out quicker if port is unusable

The default cluster control port is 10,000 ports higher than
the base Redis port.  If Redis is started on a too-high port,
Cluster can't start and everything will exit later anyway.
Sentinel: report instances role switch events.

This is useful mostly for debugging of issues.
Sentinel test: ability to run just a subset of test files.
Sentinel test: move init tests as includes.

Most units will start with these two basic tests to create an
environment where the real tests are ran.
Add cluster or sentinel to proc title

If you launch redis with `redis-server --sentinel` then
in a ps, your output only says "redis-server IP:Port" — this
patch changes the proc title to include [sentinel] or
[cluster] depending on the current server mode:
e.g.  "redis-server IP:Port [sentinel]"
      "redis-server IP:Port [cluster]"
Merge pull request #1559 from mattsta/more-detailed-process-title

Add cluster or sentinel to proc title
Sentinel test: framework improved and conf-update unit added.

It is now possible to kill and restart sentinel or redis instances for
more real-world testing.

The 01 unit tests the capability of Sentinel to update the configuration
of Sentinels rejoining the cluster, however the test is pretty trivial
and more tests should be added.
Sentinel: IDONTKNOW error removed.

This error was conceived for the older version of Sentinel that worked
via master redirection and that was not able to get configuration
updates from other Sentinels via the Pub/Sub channel of masters or
slaves.

This reply does not make sense today, every Sentinel should reply with
the best information it has currently. The error will make even more
sense in the future since the plan is to allow Sentinels to update the
configuration of other Sentinels via gossip with a direct chat without
the prerequisite that they have at least a monitored instance in common.
Merge pull request #1545 from mattsta/fix-redis-cli-sync

Deny SYNC and PSYNC in redis-cli
Sentinel test: added empty units to fill later.
Sentinel test: --pause-on-error option added.

Pause the test with running instances available for state inspection on
error.
Sentinel test: minor fixes to --pause-on-error.
Sentinel test: tmp dir and gitignore added.