Making mocking callable objects easier

* Fixes #39
* Variables that point to callables can be mocked
* Variables that point to class methods can be mocked
* Variables that point to instance methods can be mocked
* Decorated functions that return callables can be mocked
* Decorated Functions can be mocked