MD Settings: Allow search within settings to track multiple requests separately.

Previously it was always assumed that two calls to SearchManager#search(), one
for the "basic" and one for the "advanced" page, would happen in the same turn
of the JS message loop. For this reason it was safe to use the same queue for
tracking all subtasks, as well as use the same promise to signify the completion
of both calls.

Making the "advanced" page lazy loaded (upcoming change), means that the 2nd
call to search() can't be made in the same turn of the message loop, and
therefore tracking the two calls requires different queues and different
promises.

BUG=597347
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation

Review-Url: https://codereview.chromium.org/2739323005
Cr-Commit-Position: refs/heads/master@{#456626}
5 files changed