TTL / PTTL commands: two bugs fixed.

This commit fixes two corner cases for the TTL command.

1) When the key was already logically expired (expire time older
than current time) the command returned -1 instead of -2.

2) When the key was existing and the expire was found to be exactly 0
(the key was just about to expire), the command reported -1 (that is, no
expire) instead of a TTL of zero (that is, about to expire).
Allow SELECT while loading the DB.

Fixes issue #1024.
redis-trib: ClusterNode #info_string output modified.

The hope is that the new one is more readable.
Test: new functions to capture and analyze the replication stream.
Test: Restore DB back to 9 after testing MULTI/EXEC with DB 5.
Test: test replication of MULTI/EXEC.
DEBUG set-active-expire added.

We need the ability to disable the activeExpireCycle() (active
expired key collection) call for testing purposes.
Test: verify that lazy-expire works.
Better DEBUG error message when num of arguments is wrong.
Test: regression test for issue #1026.
EXPIRE should not resurrect keys. Issue #1026.
Extended SET command implemented (issue #931).
Test: Extended SET tests.