Make Function(other_function) consistent with DOLFIN

f = Function(other_function) should copy values from
other_function.
Add a test for the expected result of Function(f)

If f is a Function, the new Function should copy values.
Merge pull request #15 from firedrakeproject/issue14

Correct behaviour of Function instantiation when passing
an existing Function in.