Add centralized IP/Peer formatting functions

This stops us from needing to manually check against ":" to
add brackets around IPv6 addresses everywhere.
Cleanup all IP formatting code

Instead of manually checking for strchr(n,':') everywhere,
we can use our new centralized IP formatting functions.
Add maxmemory_policy to INFO output

Also refactors getting human string values from
the defined value in `server.maxmemory_policy`
into a common function.
Add cached total system memory to INFO output

There is no standard cross-platform way of obtaining
system memory info, but I found a useful function
convering all common platforms.  I removed support
for uncommon Redis platforms (windows, AIX) and left
others intact.

For more info, see:
http://nadeausoftware.com/articles/2012/09/c_c_tip_how_get_physical_memory_size_system

The system memory info is cached on startup, but some systems
may be able to change the amount of memory visible to Redis
at runtime if Redis is deployed in a VM or container.

Also see #1820
AnetFormatIP(): renamed, commented, now sticks to IP:port format.

A few code style changes + consistent format: not nice for humans but
better for parsers.
sdsformatip() removed.

Specialized single-use function. Not the best match for sds.c btw.
Also genClientPeerId() is no longer static: we need symbols.
remove_warning in db.c
Merge pull request #2209 from charsyam/feature/remove_warning

remove_warning in db.c
Lua cmsgpack lib updated to latest version.

It fixes a bad bug that crashes the server in certain conditions
as shown in issue #2210.
Merge branch 'unstable' of github.com:/antirez/redis into unstable
Add symlink to redis-sentinel during make install
List of commands flagged as admin commands modified.

The old list did not made much sense... and the flag is currently not
used at all, so no side effects.
Don't log admin commands in MONITOR.

Otherwise there are security risks, especially when providing Redis as a
service, the user may "sniff" for admin commands renamed to an
unguessable string via rename-command in redis.conf.
CONTRIBUTING updated.
Added <count> parameter to SPOP:
spopCommand() now runs spopWithCountCommand() in case the <count> param is found.
Added intsetRandomMembers() to Intset: Copies N random members from the set into inputted 'values' array. Uses either the Knuth or Floyd sample algos depending on ratio count/size.
Added setTypeRandomElements() to SET type: Returns a number of random elements from a non empty set. This is a version of setTypeRandomElement() that is modified in order to return multiple entries, using dictGetRandomKeys() and intsetRandomMembers().
Added tests for SPOP with <count>: unit/type/set, unit/scripting, integration/aof
--
Cleaned up code a bit to match with required Redis coding style
Make sure buffer is enough in clusterSendPing().
Fix comment in clusterHandleSlaveFailover().
Add redis-sentinel symlink to a relative path
Merge pull request #2221 from rhoml/rhoml/fix-redis-sentinel-ln

Fix redis-sentinel symlink to a relative path
Cluster: Notify user on accept error

If we woke up to accept a connection, but we can't
accept it, inform the user of the error going on
with their networking.

(The previous message was the same for success or error!)