Jacobian using quaternion representation

This pull request adds an optional flag to the `getJacobian` API indicating that the user wants a 7xN Jacobian that uses a quaternion representation. I decided a boolean flag is sufficient (instead of an enumerated argument) because there is no compelling reason to support a bunch of other representations (e.g. rotation matrix would result in a 12xN Jacobian... does anyone want that?).
 
Of course, I realized in implementing this that the conversion is simply a matter of a matrix multiplication. If we really don't like the optional flag, we could instead add a function like
`convertJacobianToQuaternionRepresentation( const MatrixXd &input, MatrixXd &output)` that does the multiplication. However that would heavily penalize speed for people wanting to use this representation because it would require allocating both matrices, whereas my current implementation allocates the Jacobian to the correct size inside of `getJacobian`.

I don't have any tests for this, but I figured it would be good to get feedback/approval before doing more.