fix benchmark memleak in loop mode
Merge pull request #2169 from razzle/unstable

fix benchmark memleak in loop mode
redis-benchmark: default num of requests is now 100000.

10000 completes in a too short time and may easily provide unreliable
figures because of tiny duration.
Cluster PUBLISH message: fix totlen count.

bulk_data field size was not removed from the count. It is not possible
to declare it simply as 'char bulk_data[]' since the structure is nested
into another structure.
Test framework: exit on timeout with report.

There was no sane way to detect tests that may never end because of
Redis bugs or tests bugs.
Test: try to cleanup still running Redis instances on exit.

It's hard to run the Redis test continuously if it leaks processes on
exceptions / errors.
Test: wait for actual startup in start_server.

start_server now uses return value from Tcl exec to get the server pid,
however this introduces errors that depend from timing: a lot of the
testing code base assumed the server to be actually up and running when
server_start returns.

So the old code that waits to see the pid in the log file was restored.