Always call CallableProvider._callable with injection

It's sometimes useful to inject some value into a callable which provides another value. So I've changed the CallableProvider similarly to how ClassProvider works. I've also added a unit test. Unfortunately I've had to remove a doctest because I have not found any easy way to make it correct after my changes.