Not every __sun has backtrace().

I don't know how to test for Open Solaris that has support for
backtrace() so for now removing the #ifdef that breaks compilation under
other Solaris flavors.
Fixed a bug in memtest progress bar, that had no actual effects.

This closes issue #859, thanks to @erbenmo.
UNSUBSCRIBE and PUNSUBSCRIBE: always provide a reply.

UNSUBSCRIBE and PUNSUBSCRIBE commands are designed to mass-unsubscribe
the client respectively all the channels and patters if called without
arguments.

However when these functions are called without arguments, but there are
no channels or patters we are subscribed to, the old behavior was to
don't reply at all.

This behavior is broken, as every command should always reply.
Also it is possible that we are no longer subscribed to a channels but we
are subscribed to patters or the other way around, and the client should
be notified with the correct number of subscriptions.

Also it is not pretty that sometimes we did not receive a reply at all
in a redis-cli session from these commands, blocking redis-cli trying
to read the reply.

This fixes issue #714.
redis-cli --bigkeys output is now simpler to understand.
Lua struct library updated to version 0.2.

There was a bug in the previous version of this library that caused a
crash under the circumstances described in issue #901.

The newer version of the library appears to be fixed (I tested it
manually with valgrind and everything seems fine now).

For more information about this library please visit this web site:

    http://www.inf.puc-rio.br/~roberto/struct/
Fix a bug in srandmemberWithCountCommand()

In CASE 2, the call sunionDiffGenericCommand will involve the string "srandmember"
> sadd foo one
(integer 1)
> sadd srandmember two
(integer 2)
> srandmember foo 3
1)"one"
2)"two"
Fix a few typos and improve grammar of redis.conf

Make several edits to the example redis.conf configuration file for
improved flow and grammar.

Signed-off-by: David Celis <me@davidcel.is>
retval doesn't initalized

If each if conditions are all fail, variable retval will under uninitlized
Check available tcl versions
Enforce tcl 8.5 or newer
Use `info nameofexectuable`  to find current executable
Test: No clients timeout while testing.
Turn off TCP_NODELAY on the slave socket after SYNC.

Further details from @antirez:

It was reported by @StopForumSpam on Twitter that the Redis replication
link was strangely using multiple TCP packets for multiple commands.
This wastes a lot of bandwidth and is due to the TCP_NODELAY option we
enable on the socket after accepting a new connection.

However the master -> slave channel is a one-way channel since Redis
replication is asynchronous, so there is no point in trying to reduce
the latency, we should aim to reduce the bandwidth. For this reason this
commit introduces the ability to disable the nagle algorithm on the
socket after a successful SYNC.

This feature is off by default because the delay can be up to 40
milliseconds with normally configured Linux kernels.
TCP_NODELAY after SYNC: changes to the implementation.
LASTSAVE is a "random" command.
Make all WATCHers dirty when the slave reloads the DB.
fix comments forgotten in #285 (zipmap -> ziplist)
Sentinel: advertise the promoted slave address only after successful setup.
Add SO_KEEPALIVE support to anet.c.
Set SO_KEEPALIVE on client sockets if configured to do so.