Generic callable locator

While this locator is only being used at the moment for middleware, the
class itself has nothing specifically to do with middleware nor the
dispatcher itself.
CallableLocator is now container-aware

The container is typehinted to ensure a real container is being passed
rather than relying on ducktyping at call-time.
Test for CallableLocator