Test: fix instances.tcl restart_instance abort error.
Test: find_available_port: check that cluster port is free as well.

The function will only return ports that have also port+10000 free, so
that Redis Cluster instances can be executed at the returned port.
Fix Solaris compilation due to ctime_r() call.

Introduced in Redis 2.8.10 because of a change in Sentinel.
This closes issue #1837.
Latency monitor: basic samples collection.
Latency monitor: collect slow commands.

We introduce the distinction between slow and fast commands since those
are two different sources of latency. An O(1) or O(log N) command without
side effects (can't trigger deletion of large objects as a side effect of
its execution) if delayed is a symptom of inherent latency of the system.

A non-fast command (commands that may run large O(N) computations) if
delayed may just mean that the user is executing slow operations.

The advices LATENCY should provide in this two different cases are
different, so we log the two classes of commands in a separated way.
LATENCY SAMPLES implemented.
Latency monitor: command duration is in useconds. Convert.
LATENCY LATEST implemented.
Latency monitor: don't add new samples in the same second.

Instead we update the old sample with the new latency if it is greater.
Latency monitor: more hooks around the code.
Latency monitor turned off by default.

It is not a good idea to bloat the code with gettimeofday() calls if the
instance is working well, and turning monitoring on at runtime is a
joke.
License added to latency.h.
ASCII sparklines generation API.
Latency monitor trheshold value is now configurable.

This commit adds both support for redis.conf and CONFIG SET/GET.
LATENCY LATEST: add the max field.
Free labels in freeSparklineSequence().
latencyTimeSeries structure max field type fixed.
LATENCY GRAPH implemented.
LATENCY GRAPH: filling under the curve is more readable.
Latency monitor: specialize delayed aof writes events.