Feat/search dynamic searchentries

With this PR, we implement the feature which enables other component to implement their own way of searching (possibly through their own dataset).
For this to work, a component has to register itself to the search component and provide a callback (in which the searching is done). How a component can register itself, and how the reply should look like can be found in the gist:
https://gist.github.com/mtoonen/491fadaf0efb5318a4d5