Cluster: Fix cluster-config-file from crashing

If someone has a blank (`touch nodes.conf`) config
file, Redis would fail with an assert error, which isn't
very user friendly.

This commit treats empty files as if the server created
the file itself and operations continue as expected.

Logic: if no lines successfully processed, treat as new
configuration file.

Fixes antirez/redis#1349
Cluster: Fix segfault if cluster config corrupt

This commit adds a size check after initial config
line parsing to make sure we have *at least* 8 arguments
per line.

If someone has garbage in their cluster-config-file,
Redis will now exit with an error message instead of
segfaulting due to accessing argv[N] when only argv[N-1]
exists.

The segfault is because Redis expects at least 8 arguments
per line (extra arguments get added when slots are
assigned), and the config parser statically accesses
argv[0] through argv[7] (and optionally argv[8+] when
slots are assigned).

This commit does introduce a static number in the form of
"if argc<8", but the magic number 8 exists in the
form of j=8 in the slot assignment parsing loop too.