* Adds a "clean" target to the Makefile * In order to allow a module to be both a module and a client, all module-only functions are renamed to begin with "module_", and all client-only functions are renamed to begin with "client_". These new functions are defined in "module2.h" and "client2.h". The old names are #define'd to the new ones in "module.h" and "client.h", for compatiblity. * A new module, cvm-anon, is created. This module does anonymous authentication. Any users whose names appear in CVM_ANON_USERS are accepted without any password at all; if a username is followed by an equal sign and another username, any user logging in as the first username will be treated as if they had logged in anonymously to the second username. If CVM_ANON_NEXT is set, the environment variable CVM_ALREADYAUTH is set, the username is passed onto the module whose name is there to retrieve the other information. This module must recognize CVM_ALREADYAUTH as meaning that the user is already authenticated (cvm-unix has been modified in this way; other modules will need similar modifications to be used in this way), and should not have their password checked again. If CVM_ANON_NEXT isn't set, the user's information is taken from the environment variables CVM_ANON_USER, CVM_ANON_SHELL, CVM_ANON_UID, and CVM_ANON_GID. * A new module, cvm-chain, is created. This module runs a sequence of CVM modules until one succeeds. It gets the list of modules to try from the CVM_CHAIN environment variable, which should contain a space-seperated list of modules to try, in the order they should be tried. * The cvm-unix module is modified to recognize the environment variable CVM_ALREADYAUTH as indicating that the user has already authenticated some other way, and should just have their settings retrieved.