Merge pull request #18 from bchretien/master

Fix clang compilation.
NumericLinearFunction non-const setter are now public
Synchronize
tests/numeric-quadratic-function.cc: Check gradients at multiple points.
finite-difference-gradient.hxx: Fix compilation error.

When instantiated with sparse matrices, wrong matrix type were used.
tests/numeric-quadratic-function.cc: check gradient and jacobian
tests/numeric-quadratic-function.cc: check gradients with random A/b values
Fix BadJacobian for sparse matrices
Make BadJacobian instantiable with sparse matrices
Add missing inline in finite-difference-gradient.hxx
Add first prototype of meta-function.
Synchronize
Add plus meta-function and refactor Constant/Identity functions.

The meta-function is implemented in filter/plus.hh.

The concrete functions have been moved to their own directory in
functions/constant.hh functions/identity.hh. They are now implemented
as template functions to support sparse matrices as well.
Fix function title in numeric-quadratic-function.hxx
Use Eigen 3.2.0 in Travis
Implement Chain meta-function, factor auto-promotion code.
Install filter/chain.hh and filter/chain.hxx
Fix travis.build.sh.
Make sure the gradient function is never called with invalid functionId
Add selection meta-function, clean plus meta-function.