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'd say: This works by using some C code to temporarily modify the mocked function \emph{in place}. On exit (regular or error), all functions are restored to their previous state. This is somewhat abusive of R's internals, and is still experiment, so use with care.