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.
I'm thinking of moving normalizeVec to drakeGradientUtil, since it's not really geometry related. Is that OK?