Rewrite search with new implemented search provider infrastructure

Added infrastructure for search providers. Registered search providers will be called each time a search is performed - either as full search or as incremental search to a previous one if each search term in new search is a prefix of its counterpart in new search and if their order did not change. Search provider can use any source for their search but have to create an actor for each item in their result if requested. The newly added search manager manages all search providers at one place. Search view was rewritten to use this new search infrastructure.