Adds the "manage gids" feature.

The server will query an external group list provider
to know what are the alt groups (or secondary groups).

When used with AUTH_SYS:
The server will then trust what getgrouplist() tells and won't trust
altgroups provided in AUTH_SYS creds. The server will then manage all
the gids by himself.
Interesting consequence is a better centralization of groups management.
At the same time, this breaks the 16 altgroup array size in the AUTH_SYS
credentials which lead to EPERM. If the server uses the feature introduced
by this commit, user can belong to more than 16 groups.
All groups will be considered. None will be forgotten as it occurred with
standard AUTH_SYS.

When use with RPCSEC_GSS:
the credentials carry a principal. This principal is converted but a
(uid,gid) pair, but altgroups will remain empty. Using Manage_Gids will
populate altgroups by querying getgrouplist().

This commit reuse deprecated EXPORT_OPTION_USE_PNFS flag
Result of getgroup() are kept in a cache (in fact a AVL tree).
Information stored in cache expires and are regularily renewed. Expiration is tunable.

A refcounter is used to avoid changing and freeing a grouplist
when it is currently in use by another thread.

This commit add two configuration items:
	- a boolean "Manage_Gids" (default = FALSE), this is a per-export option
	- an integer "Manage_Gids_Expiration" (default = 30), this is a global parameter in NFS_Core_Param block.

Signed-off-by: Philippe DENIEL <philippe.deniel@cea.fr>