This commit adds the "manage gids" feature, in a similar way as what the knfsd does.

With this commit, the server will query am 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.

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

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