Add simple test cases

  - Initialisation
  - Addition (including mixed mode)
  - Subtraction (including mixed mode)
Fix misprint in Forward/Scalar case.
Add test cases for multiplication and division

Helped uncover syntax error (misprint) fixed in commit 8105166.
Ignore executables.
Don't use updated values for computing derivatives

We must not overwrite the current evaluation point until all the
derivative values have been calculated.  Otherwise, the derivatives
will differ from that of the actual values.
Operator *=(): Use correct derivative chain rule

Updating the derivative using '*=' is just plain wrong.
Add further test cases

  - Polynomials (including mixed mode arithmetic)
  - Cosines (including mixed mode arithmethic)
  - Square roots (including mixed mode arithmetic)
Rename members to better reflect purpose.

Specifically,

  - x_  -> val_
  - dx_ -> der_
Don't return values from update operators.

Statements like

   a = b += c

make no sense
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'