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.

Doesn't include #175 anymore.
I think, a false positive is unlikely with this test, given that usually `!identical(stats::acf, identity)`. Can we deal with false negatives when they start to occur, if they occur?