Refactored the lookup system.

* Removed `_lookup_internal`, as there was no need to get the result
of bind_args.
* `lookup_explicit` now has the lookup algorithm.
* `execute` inlines the function call, and uses the args and kwargs it
was passed, rather than bound.args and bound.kwargs
* Added and fixed various docstrings
Bump version number for internal lookup changes.