Initial part of multiple cache-inode lookup tables.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Block in actual split cache inode lookup tables.

A cih_fhcache lookup table is stored in exportlist_t.  The fsal
is responsible to allocate/ref a lookup table when it creates the
export handle.

The routines cih_{alloc,ref,release}_fhcache allocate, ref, or
unref (free) cache inode lookup tables, and are only to be called
by FSAL code, to avoid deadklock.  (If core code needs to call
these at some point, these could be refactored into upcalls.)

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Hook split cache inode lookup tables.

This change removes the global cih_fhcache, and adds a pointer to
a cache inode lookup table to struct exportlist.

The correct lookup table is extracted from request context, entry object
handle or fsal_export structure, as appropriate.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>