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
bitops.c/redisPopcount: little optimization in loop
bitops.c/bitopCommand: skip short minlen for FAST PATH
Fix implicit declaration of ioctl on Solaris
Include stropts only if __sun is defined.
Update whatisdoing.sh

Improved getting pid
Cluster PUBLISH message: fix totlen count.

bulk_data field size was not removed from the count. It is not possible
to declare it simply as 'char bulk_data[]' since the structure is nested
into another structure.
fix benchmark memleak in loop mode
redis-benchmark: default num of requests is now 100000.

10000 completes in a too short time and may easily provide unreliable
figures because of tiny duration.
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