Use named constructor pattern.

Made AutoDiff::Forward constructor private.
Added static methods constant(), variable(x) and function(x, dx).
Merge remote-tracking branch 'bska/master'
Initial vector AD type experimentation.
Readjust whitespace to original conventions.
Use documented include statements for Eigen
Don't #include <iostream>.  It's not needed.
variable(): Avoid memory overhead of identity constructor.