Add new AutoDiffBlock::constant() overload without block sizes.

A constant has only zero-matrices for its Jacobian blocks, therefore it should be possible to create a constant without giving the block sizes.

Implementation detail: this required changing the assumptions on the jac_ member to mean that if it is empty, the object is a constant.