Fix test framework to detect proper server PID

Previously the PID format was:
[PID] Timestamp

But it recently changed to:
PID:X Timestamp

The tcl testing framework was grabbing the PID from \[\d+\], but
that's not valid anymore.

Now we grab the pid from "PID: <PID>" in the part of Redis startup
output to the right of the ASCII logo.
Sentinel example config: explain you don't need to specify slaves.
Cluster test: catch FLUSHALL errors on node reset.

FLUSHALL will fail on read-only slaves, but there the command is not
needed in order to reset the instance with CLUSTER RESET so errors can
be ignored.
Cluster: always allow ok -> fail switch in clusterUpdateState().

There is a time defined by REDIS_CLUSTER_WRITABLE_DELAY where fail -> ok
switch is not possible after startup as a master for some time, however
the contrary (ok -> fail) should always be possible.
Disable recursive watchdog signal handler

If we are in the signal handler, we don't want to handle
the signal again.  In extreme cases, this can cause a stack overflow
and segfault Redis.

Fixes #1771
Merge pull request #1775 from mattsta/fix-test-against-new-PID-format

Fix test framework to detect proper server PID
Cluster test: add tmp dir to Git repo.