Generalize SFINAE to allow callables with reference arguments
Previously the code would only accept
[](FieldVector<double,dim> x){...};
as a callable, but not
[](FieldVector<double,dim>& x){...};
or
[](const FieldVector<double,dim>& x){...};
Edited by Oliver Sander