Add an experimental ExprTransformConstantFold which is an expression transformer that folds constants to simplify expressions (JENA-630)

This commit includes a change to ExprFunctionN to make the copy() method public to align with the other ExprFunction classes e.g. ExprFunction1.  It also fixes the logic for copySubstitute() for this class to try and fold the whole expression where possible.

git-svn-id: https://svn.apache.org/repos/asf/jena/trunk@1562658 13f79535-47bb-0310-9956-ffa450edef68