------------------
- Fix a problem, where ``queryNextUtility`` could fail if the context could
not be adapted to a ``IComponentLookup``.
- Fix 2 related bugs:
When a utility is registered and there was previously a utility
registered for the same interface and name, then the old utility is
unregistered. The 2 bugs related to this:
- There was no ``Unregistered`` for the implicit unregistration. Now
there is.
- The old utility was still held and returned by
``getAllUtilitiesRegisteredFor``. In other words, it was still
considered registered, eeven though it wasn't. A particularly
negative consequence of this is that the utility is held in memory
or in the database even though it isn't used.