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: 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]"
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.
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.
Sentinel: added missing exit(1) after checking for config file.
Sentinel: log +monitor and +set events.

Now that we have a runtime configuration system, it is very important to
be able to log how the Sentinel configuration changes over time because
of API calls.
Sentinel: generate +monitor events at startup.
Sentinel test: removed useless code to set SDOWN timeout.

The new common initialization code used to start a new unit already set
the timeout to 2000 milliseconds.
Sentinel: log quorum with +monitor event.
Sentinel test: more stuff mored from 00-base to init.

The area a number of mandatory tests to craete a stable setup for
testing that is not too sensitive to timing issues. All those tests
moved to includes/init-tests, and marked as (init).
Sentinel test: restart_instance should refresh pid attrib.

Also kill_instance was modified to warn when a test will try to kill the
same instance multiple times for error.
Sentinel test: test majority crashing Sentinels.

The test was previously performed by removing the master from the
Sentinel monitored masters. The test with the Sentinels crashed is
more similar to real-world partitions / failures.
Sentinel test: jump to next unit on test failure.

Sentinel tests are designed to be dependent on the previous tests in the
same unit, so usually we can't continue with the next test in the same
unit if a previous test failed.
Sentinel test: restart instances left killed by previous unit.

An unit can abort in the middle for an error. The next unit should not
assume that the instances are in a clean state, and must restart what
was left killed.