Sentinel: handle SRI_PROMOTED flag correctly.

Lack of check of the SRI_PROMOTED flag caused Sentienl to act with the
promoted slave turned into a master during failover like if it was a
normal instance.

Normally this problem was not apparent because during real failovers the
old master is down so the bugged code path was not entered, however with
manual failovers via the SENTINEL FAILOVER command, the problem was
easily triggered.

This commit prevents promoted slaves from getting reconfigured, moreover
we now explicitly check that during a failover the slave turning into a
master is the one we selected for promotion and not a different one.
Sentinel test: add manual failover test.
Sentinel: send hello messages ASAP after config change.

Eventual configuration convergence is guaranteed by our periodic hello
messages to all the instances, however when there are important notices
to share, better make a phone call. With this commit we force an hello
message to other Sentinal and Redis instances within the next 100
milliseconds of a config update, which is practically better than
waiting a few seconds.
Sentinel test: unit 02, avoid some time related false positives.
Sentinel test: tolerate larger delays in init tests.
Cluster: clear NOADDR flag when updating node address.
Jemalloc update script added.
Jemalloc updated to 3.6.0.

Not a single bug in about 3 months, and our previous version was
too old (3.2.0).
ROLE command: array len fixed for slave output.
Allow to call ROLE in LOADING state.
Cancel SHUTDOWN if initial AOF is being written

Fixes #1826 (and many other reports of the same problem)
Basic tests for the ROLE command.
Merge pull request #1829 from mattsta/stop-aof-dataloss

Cancel SHUTDOWN if initial AOF is being written
Cancel SHUTDOWN if initial AOF is being written

Fixes #1826 (and many other reports of the same problem)
hiredis: Update to latest version

This is hiredis f225c276be7fd0646019b51023e3f41566633dfe

This update includes all changes that diverged inside of Redis since
the last update.  This version also allows optional source address
binding for connections which we need for some Sentinel deployments.
Dummy zmalloc.h restored into deps/hiredis.
Add REDIS_BIND_ADDR access macro

We need to access (bindaddr[0] || NULL) in a few places, so centralize
access with a nice macro.
Sentinel: bind source address

Some deployments need traffic sent from a specific address.  This
change uses the same policy as Cluster where the first listed bindaddr
becomes the source address for outgoing Sentinel communication.

Fixes #1667
Use Redis updated sds.c for deps/hiredis.
Silence different signs comparison warning in sds.c.