Simplify lua_cmsgpack macro and fix build on old Linux distros.

Thanks to @badboy for the help in checking the build after the fix.
Only ignore sigpipe in interactive mode

This allows shell pipes to correctly end redis-cli.

Ref #2066
sparkline.c: mov label-ini into the AddSample Function
sparkline.c: AddSample skip Empty label
getting pid fixes

```sh
$ ~ pidof redis-server
# nothing

$ ~ ps aux | grep [r]edis
redis      593  0.0  0.0  36900  5564 ?        Ssl  Dec02   1:37 /usr/bin/redis-server 127.0.0.1:6379
klay     15927  0.0  0.0  16772  6068 pts/6    S+   13:58   0:00 redis-cli

$ ~ uname -a
Linux edge 3.17.4-1-ARCH #1 SMP PREEMPT Fri Nov 21 21:14:42 CET 2014 x86_64 GNU/Linux
```
Mark whatisdoing.sh as deprecated in top-comment.
Silence _BSD_SOURCE warnings in glibc 2.20 and forward

See https://sourceware.org/glibc/wiki/Release/2.20#Packaging_Changes
Fix implicit declaration of ioctl on Solaris
Include stropts only if __sun is defined.
Update whatisdoing.sh

Improved getting pid
sds.c: Correct some comments
sds.c/sdscatvprintf: set va_end to finish va_list cpy
sds.c: Correct two spelling mistakes in comments
redis-benchmark AUTH command to be discarded after the first send #2150
replaced // comments  #2150
zipmap.c: update comments above
FIXED redis-benchmark's idle mode.With idle mode shouldn't create write event
Update redis_init_script.tpl

status command currently reports success when redis has crashed and the pid file still exists. Changing to check the actual process is running.
Fix zero-ordering SORT when called against lists

People mostly use SORT against lists, but our prior
behavior was pretending lists were an unordered bag
requiring a forced-sort when no sort was requested.

We can just use the native list ordering to ensure
consistency across replicaion and scripting calls.

Closes #2079
Closes #545 (again)
SORT: Don't sort Set elements if not needed.

Related to #2094.