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
Redmine#1884: Add ^context=xyz specifier to module protocol, with acceptance test
Remove test for Enterprise.

There is no compile test anymore, and I can't see a reason why this
code should not be in both versions.
Cpu, load and process gathering monitoring unit tests
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
Fix file descriptors leaks
Redmine#3273: acceptance test for lsdir()
Redmine#3320: acceptance test
Redmine#2516: add "int", "real", "mac", "ipv4", and "ipv6" options to sort function
Revert "Disable enterprise_extension unit test."

This reverts commit 7cb4f9c7af3e8d5faa2d705c18abb0dd24df56cd.
Merge branch 'final/monitor_test' of git://github.com/jeffali/core into master

Conflicts:
	tests/unit/Makefile.am
Merge pull request #903 from kacfengine/master

Revert "Disable enterprise_extension unit test."
Use decoded JSON strings in JSON DOM
Merge pull request #894 from tzz/tzz/3273-lsdir-empty

Redmine#3273: acceptance test for lsdir()
Merge pull request #890 from awsiv/fix_empty_include_dir

Avoid appending empty include dir to CPPFLAGS
Merge pull request #841 from CedricCabessa/contrib

fix compilation issue on the Android platform
Merge pull request #893 from lpefferkorn/fix_fd_leaks

Fix file descriptors leaks
Move shared library functions to its own file.

They are not tied to the enterprise plugin specifically.
Rename enterprise extension macros to consistent names.

This is to enable reuse of the same files for other extensions in the
Enterprise product.