Made all RefinementObserver's methods optional for subclasses to implement.  Added didHRefine and didHUnrefine methods, and added versions of each of these that take a MeshTopologyPtr argument, so that observers that track multiple meshes can distinguish between them.  Fixed an issue in cellsForPoints which involved the dereferencing of a null pointer.