Multiple dtable / sparse array improvements

* dtable.m is now the old sparse array, using IMP as type for values and
  thus not violating the C standard anymore (functions may not be stored
  in void*)
* New sparsearray.m which can work with any size, based on the sparse
  array from the fast path of class.m
* Fast path of class.m now uses the new sparsearray.m