Refactor Search.populateSearchEngines() to return a promise

Search.populateSearchEngines() returns a promise, not a callback.
Search.initSearchEngineSelect() uses then() instead of passing a callback.
Updated tests to match