Implement the copy constructor for DiscreteFunction
This solves a bug in LocalFunction and GradientLocalFunction of DiscreteFunction. If copy constructed, the subTree member was a dangling pointer.
Maybe I have to add the copy-assignment operator as well. Or, better, a swap() method.
Edited by Praetorius, Simon