Add skeleton of differential geom from 2.10

Have decided to skip using their ReferenceCounted class and stuff since
it appears to be equivalent to shared_ptr since the book was written
prior to C++11