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.