Set default for stop_writes_on_bgsave_err in initServerConfig().

It was placed for error in initServer() that's called after the
configuation is already loaded, causing issue #1000.
Abort when opening the RDB file results in an error other than ENOENT.

This fixes cases where the RDB file does exist but can't be accessed for
any reason. For instance, when the Redis process doesn't have enough
permissions on the file.
Merge pull request #1001 from djanowski/fatal-errors-rdb-load

Abort when opening the RDB file results in an error other than ENOENT.
rdbLoad(): rework code to save vertical space.
Test: check that Redis starts empty without an RDB file.
Test: more RDB loading checks.

A test for issue #1001 is included.
Test: make sure broken RDB checksum is detected.
Cluster: call clusterHandleSlaveFailover() when our master is down.
Replication: master_link_down_since_seconds initial value should be huge.

server.repl_down_since used to be initialized to the current time at
startup. This is wrong since the replication never started. Clients
testing this filed to check if data is uptodate should never believe
data is recent if we never ever connected to our master.
Cluster: clusterHandleSlaveFailover() stub.
Cluster: FAILOVER_AUTH_REQUEST message type introduced.

This message is sent by a slave that is ready to failover its master to
other nodes to get the authorization from the majority of masters.
Cluster: use 'else if' for mutually exclusive conditionals.
Cluster: sanity check FAILOVER_AUTH_REQUEST messages for proper length.
Cluster: handle FAILOVER_AUTH_REQUEST in clusterProcessPacket().

However currently the control is passed to a function doing nothing at
all.
Cluster: clusterSendFailoverAuthIfNeeded() work in progress.
Cluster: clusterSendFailoverAuth() implementation.
Cluster: request failover authorization, log if we have quorum.

However the failover is yet not really performed.
Cluster: handle FAILOVER_AUTH_ACK messages.

That's trivial as we just need to increment the count of masters that
received with an ACK.
Cluster: code to process messages moved in the right if-else chain.
Cluster: two lame bugs fixed in FAILOVER AUTH messages generation.