Drake gradient util

Pull request for C++ gradient utilities. I put general purpose functions like {get,set}SubMatrixGradient, transposeGrad, etc. in drakeGradientUtil, and functions that compute gradients of geometrical things in drakeGeometryUtil.
<sigh>, ok then, if you really want it. But I'd like to revisit this after we're sure that all the memory bugs are gone. I guess I just don't see the difference between Eigen's implicitly instantiated templated methods and our own.