move SearchResult into search package
rewrite search system using better tests
refactor voicemail to use new search system
refactor func keys to use new search system
refactor extension to use new search system
add helper for fetching sort columns
add missing file
make 'sort' and 'search' optional in search config
remove search config parameters no longer needed
standardize search API in device tests
change behavior of SearchConfig

 - rename parameters to the following:
    - table (instead of select)
    - default_sort (instead of order_by)
 - validate parameters on initialization
 - remove sort_columns and search_columns (no longer used by RESTAPI)
 - rename columns_for_filtering to columns_for_searching
 - rename order_by_column to column_for_sorting
refactor SearchSystem

 - validate all parameters only once
 - use new parameter names and methods in SearchConfig
 - only pass needed parameters to underlying methods
rename parameters in search config
remove debugging prints
use builtin handling of function arguments
fix edge-case of search(limit=0)
Merge branch 'search_system'