Extend the DIFF procedure to differentiate general powers,
the functions
and to return unevaluated instead of giving an error when
it does not know how to differentiate the given input.
Extend DIFF to handle repeated derivatives, i.e. how to
DIFF the function DIFF.
For example, DIFF(DIFF(f(x,y),x),y) should output the same
result as DIFF(DIFF(f(x,y),y),x).