Do not crash when inserting only colons into the outline quickopen filter.
Re-enable plugin controller tests and fix double-emit of signal.

The unit test promplty showed a problem, where unloading a plugin
actually leads to a double-emit of the pluginUnloaded signal from
the plugin controller.
Extend test and check for unloadingPlugin signal.
Optimize PluginController::pluginForExtension for common case.

When we look up an already loaded plugin by its extension, we can
bypass the costly KPluginInfo::fromServices call by just checking
the extension of the loaded plugins directly.

The benchmark shows that this is much faster:

Now:
     0.00080 msecs per iteration (total: 53, iterations: 65536)
Before:
     1.1 msecs per iteration (total: 72, iterations: 64)

This is especially noticeable with the new IDefinesAndIncludesManager
plugin, which will be queried for every file we parse. In kdev-clang,
the call to pluginForExtension was a bottleneck when we reload an
already parsed session with many files.
Add missing file - oops.