libipvs-2.6: sync with libipvs from ipvsadm 1.27
Reapply: ipvs: don't include linux/types.h or asm/types.h

Those kernel headers should not be included into userland programs. We
redefine kernel types like __u32, __be32 to their userland
counterparts instead. This allows keepalived to compile on RHEL 5.

Conflicts:
	keepalived/libipvs-2.6/ip_vs.h
Reapply: Only define kernel types for ip_vs.h header to avoid problems when loading other headers.
Reapply: Avoid the use of kernel defines in libipvs userland prototypes

* fix libipvs-2.4 ipvs_get_service(...) prototype to use
  ISO types instead of kernel ones...
* fix libipvs-2.6 ipvs_get_service(...) prototype to use
  ISO types instead of kernel ones...

Conflicts:
	keepalived/libipvs-2.6/libipvs.h
libnl >= 3 support

Reference:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=688164
http://article.gmane.org/gmane.linux.keepalived.devel/3522
libipvs: add nlerr2syserr function to translate libnl 3 errors to sys errors

In libnl 3 the return codes have changed. nlerr2syserr translates the
libnl 3 errors to sys errors.

Reference:
https://github.com/tgraf/libnl/commit/8a3efffa5b3fde252675239914118664d36a2c24