Improve redis-trib replica assignment

This tiny bit of code has gone through so many revisions.  Hopefully
it's more correct now.

Fixes #2204
Following @mattsta's friendly review:
  1. memory leak in t_set.c has been fixed
  2. end-of-line spaces has been removed (from all over the place)
  3. for loops have been ordered up to match existing Redis style (less weird)
  4. comments format has been fixed (added * in the beggining of every comment line)
Fixed memory leaks in rdbSaveToSlavesSockets()
Merge pull request #2229 from advance512/spopWithCount

Memory leak fixes (+ code style fixes)
Add 'age' value to SENTINEL INFO-CACHE
Merge pull request #2234 from mattsta/feature/sentinel-info-cache/age

Add 'age' value to SENTINEL INFO-CACHE
Merge pull request #2227 from mattsta/fix/trib/assignment/master-replica

Improve redis-trib replica assignment
INFO loading stats: three fixes.

1. Server unxtime may remain not updated while loading AOF, so ETA is
not updated correctly.

2. Number of processed byte was not initialized.

3. Possible division by zero condition (likely cause of issue #1932).
Merge branch 'unstable' of github.com:/antirez/redis into unstable
Add addReplyBulkSds() function

Refactor a common pattern into one function so we don't
end up with copy/paste programming.
Add DEBUG JEMALLOC INFO

Uses jemalloc function malloc_stats_print() to return
stats about what jemalloc has allocated internally.
Remove ziplist compiler warnings

Only happen when compiled with the test define.
Allow all code tests to run using Redis args

Previously, many files had individual main() functions for testing,
but each required being compiled with their own testing flags.
That gets difficult when you have 8 different flags you need
to set just to run all tests (plus, some test files required
other files to be compiled aaginst them, and it seems some didn't
build at all without including the rest of Redis).

Now all individual test main() funcions are renamed to a test
function for the file itself and one global REDIS_TEST define enables
testing across the entire codebase.

Tests can now be run with:
  - `./redis-server test <test>`

  e.g. ./redis-server test ziplist

If REDIS_TEST is not defined, then no tests get included and no
tests are included in the final redis-server binary.
Add simple ll2string() tests
Allow forcing non-jemalloc build
Fix how zipEntry returns values

zipEntry was returning a struct, but that caused some
problems with tests under 32 bit builds.

The tests run better if we operate on structs allocated in the
caller without worrying about copying on return.
Fix ziplistDeleteRange index parameter

It's valid to delete from negative offsets, so we *don't*
want unsigned arguments here.
Fix ziplist test for pop()

The previous test wasn't returning the new ziplist, so the test
was invalid.  Now the test works properly.

These problems were simultaenously discovered in #2154 and that
PR also had an additional fix we included here.
Cleanup ziplist valgrind warnings

Valgrind can't detect 'memset' initializes things, so let's
statically initialize them to remove some unnecessary warnings.
Fix three simple clang analyzer warnings