new tests (many fail), stubs
collapse.m: significant re-write

* this version of collapse.m should be far more efficient than the
  earlier one, although I have not done any systematic performance
  tests;
* all the active tests in test_collapse pass
* the external library DataHash/DataHash.m (from MATLAB's File
  Exchange) is important in this refactoring of collapse.m; it is used
  in lieu of a proper built-in hashcode function to generate keys for
  arbitrary MATLAB objects
all active tests pass