In-place mocking

Temporarily overwrite the memory that stores all information about a function to be mocked (formals, body, environment, attributes). Now, also mocking imported functions works as expected.

Fixes #171.

Closes #175.
I don't think there's much benefit to registration - can you please just do `@useDynlib testhat reassign_function`