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

This should simplify some uses of the autodiff code. The internals
have been changed to allow for objects to have an empty vector of
Jacobians, always treating that object as a constant.
Fix minor whitespace issue.
Fix bug in operator+ introduced by previous commit.

Also make documentation clearer.
Avoid infinite loop with two constant operands.
Reduce version to 0.9.

Since there is a fair chance of interface adjustments after the release,
the version number cautions the user a little bit more than calling it 1.0.
Merge pull request #54 from atgeirr/allow-empty-jac

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