  
  CNID back-end refactoring
  
This patch allows to compile all DID schemes into 
afpd  binary and then select desired schemes at runtime,
per volume.


Changes:

Libatalk/cnid directory as been restructured. Now it contains
subdirectories representing particular back-end types and a
simple cnid-object factory (cnid.c and cnid_init.c).

All CNID functions have been grouped into a structure which 
contains function pointers and some data. Main afpd code uses
them in a object manner rather than structural: it calls cnid 
functions through fields of cnid_db structure. 

Actually there are standard backends: transactional db3, cdb, 
last and mtab (I'm not sure how to call mtab - it does some magic
with dev/inode numbers, but mtab has been removed some time ago).

Changes in ./configure options:

Options --with-did=xxx, --with-cdb have been removed.

Instead, there are following options:
--with-cnid-cdb-backend    - compile DB3 Concurrent Datastore backend
--with-cnid-db3-backend    - compile DB3 transactional backend
--with-cnid-last-backend   - compile LAST backend
--with-cnid-mtab-backend   - compile MTAB backend
--with-cnid-default-backend={cdb|db3|last|mtab}

Some of the backend names should be (propably) changed (mtab? db3?).

AppleVolumes.default file has a new option: -cnidscheme:{db3|cdb|last|mtab}

Again, sorry for this weird naming. I didn't care about it while coding,
some cleanups have to be done later.

Was tested mainly against test-suite and against MacOS 9 client.

Things to do:
- some really reliable kind of backend should be developed
- file-name mangling should be runtime option
- naming- and code cleanups are still needed
- optional dynamic CNID backend loading - lower priority, static linking
option has still to be available

