binary index clean up

moved dirty flag from collection-level down to each index;  This allows
more 'lazy' rebuild of indexes so we dont waste time rebuilding indexes
before they are needed.  added some comments