fix linefeatures.protocol to be an enum
raise a ValueError if the protocol is invalid

invalid means not part of trunk_protocol
SearchFilter now uses a dict for search parameters

Easier to add additional parameters if needed in the future
refactor func key resource to use new SearchFilter interface
rename voicemail.find_all to voicemail.search
bugfix: cast columns to string when searching
Merge branch '4441-move-hangup-logic-to-call'
refactor func key tests. make prerequisites generic
add missing test on group destinations
add test dependencies for queuefeatures table
implement func keys with a queue destination
use query_helper for deleting a func key
use more conventional way to mock AsteriskSession
Merge branch 'func_key_queue'
Merge branch 'func_key_search'
bugfix, only delete a single func key
remove unused imports
refactor extension dao tests. make more readable
extension dao returns extensions even if they are commented
line dao returns commented lines