First cut of allowing advanced search syntax
Refactor for backward compatibility, add test
Improve code style
Merge branch 'search_improvements' into datacom