Fix lack of SA_ONSTACK under Cygwin

Fixes #232
Fix lack of strtold under Cygwin

Renaming strtold to strtod then casting
the result is the standard way of dealing with
no strtold in Cygwin.
Fix blocking operations from missing new lists

Behrad Zari discovered [1] and Josiah reported [2]: if you block
and wait for a list to exist, but the list creates from
a non-push command, the blocked client never gets notified.

This commit adds notification of blocked clients into
the DB layer and away from individual commands.

Lists can be created by [LR]PUSH, SORT..STORE, RENAME, MOVE,
and RESTORE.  Previously, blocked client notifications were
only triggered by [LR]PUSH.  Your client would never get
notified if a list were created by SORT..STORE or RENAME or
a RESTORE, etc.

Blocked client notification now happens in one unified place:
  - dbAdd() triggers notification when adding a list to the DB

Two new tests are added that fail prior to this commit.

All test pass.

Fixes #1668

[1]: https://groups.google.com/forum/#!topic/redis-db/k4oWfMkN1NU
[2]: #1668
Merge pull request #1669 from mattsta/blpop-internally-added-keys

Fix blocking operations from missing new lists
Merge pull request #1743 from mattsta/cygwin-compile-fix

Cygwin compile fix
Cluster: cluster_my_epoch added to CLUSTER INFO output.
Cluster test: check master -> slave role switch.
Cluster test: unit 02 should wait for failover.
Cluster test: 02 unit more reliable waiting for slave sync.
Cluster test: new unit 03, failover loop stress testing.
Cluster test: added show-redis-logs command in the interactive console.
Cluster test: better failover detection in unit 03.
Cluster test: unit 03, check epochs correctness.
Cluster: log when a master denies a failover auth.
Cluster: log configEpoch updates to myself.
Cluster: log granted failover authorizations.
Cluster test: set config epochs when creating clusters.
Cluster: better comment for clusterSendFailoverAuthIfNeeded() epoch test.
Cluster: fix an error message when logging failover auth denied.
Scripting: Fix regression from #1118

The new check-for-number behavior of Lua arguments broke
users who use large strings of just integers.

The Lua number check would convert the string to a number, but
that breaks user data because
Lua numbers have limited precision compared to an arbitrarily
precise number wrapped in a string.

Regression fixed and new test added.

Fixes #1118 again.