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.
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.
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.