Provide search

This pull request replaces https://github.com/aptivate/econsensus/pull/163
It covers initial search work (http://aptivate.kanbantool.com/boards/5986-econsensus#tasks-235197) and subsequent refinements (http://aptivate.kanbantool.com/boards/5986#tasks-2179857)