Fix compilation error with "void setnetgrent" / "void endnetgrent"

Code assume that the functions "setnetgrent" and "endnetgrent" return
int. On some platform (some bsd, android, ...) the return type is void.
This patch fix the compilation issue by testing return type with autoconf
add a test for bionic before including netinet/ip.h
Cpu, load and process gathering monitoring unit tests
Yacc/AIX segfaults if yylen is used instead of strlen(yytext)
Merge pull request #888 from jeffali/fix/aix_bison_seg

Yacc/AIX segfaults if yylen is used instead of strlen(yytext)
Add PromiseIterator, abstract away Rlist in iteration.h
Remove iteration state from Rlist
Add JsonCopy, JsonCompare
make aix build ignore yacc warning
Avoid appending empty include dir to CPPFLAGS

Previously, this resulted in invalid compile options such as the following tokyocabinet test:
gcc -o conftest -pthread -g -O2 -O2 -DNDEBUG   -I/usr/local/include -I    conftest.c -ltokyocabinet
Merge pull request #891 from maciejmrowiec/master

Remove semicolon at the end of IF statement
tells yacc that we expect some reduce/shift conflicts to happen
Merge pull request #892 from jeffali/fix/aix_conflict

tells yacc that we expect some reduce/shift conflicts to happen
Revert "make aix build ignore yacc warning"

This reverts commit 9897ddcdf41a2493901b95026caaf9a5d2d01617.

The build on Solaris failed after this commit.
Fix file descriptors leaks
Fix header of findfiles() acceptance test.
Redmine#3273: acceptance test for lsdir()
Send warning/error console output to stderr
Remove iteration state from Rlist
Remove IsDataType, use DataTypeFromString