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.
latencyStartMonitor() modified to avoid warnings.
Properly initialize min/max in latency.c.
Cast void* to char* to avoid waring in latencyCommand().