suppress external diff program when using git diff.
point 2 of slave-serve-stale-data miss '-' between 'stale' and 'data'
Merge pull request #967 from 0x20h/fix-git-diff

suppress external diff program when using git diff.
redis-cli: use keepalive socket option.

This should improve things in two ways:

1) Prevent timeouts caused by the execution of long commands.
2) Improve detection of real connection errors.

This is mostly effective only on Linux because of the bogus default
keepalive settings. In Linux we have OS-specific calls to set the
keepalive interval to reasonable values.
adding check error code

adding check error code