Add the start of a search page.

Searching is a key way of doing things nowadays, so it's
probably fairly important that the IDE allow users to do this.

Change-Id: I853f6fe2250e8cdc98d93f38489085c7ce8ca585
Add a mock async provider, fix async handling.

Change-Id: I8d2483c26357bff9543de7f392c113c417e56b76
Add search results display.

Change-Id: Iccf06caeb499aa536d4340075bc8f2106e41297e
Add a rendering of the search results.

Change-Id: I9b3ebc8ca77ecc1d039e7565d55cdf5a37531ac4
Add a project-name searcher.

Change-Id: I149824098754de2c767bb9e18574d49c8713f45e
Fix debug display.

Change-Id: Ib42db9d40ae5a97e29c2f432c364a5486c84b8a8
Make the search page a lazy singleton.

This provides greater flexibility about when it gets
created.

Change-Id: I60de36c120a8a2161be708198b922c9fbbcb88e1
Add navigation to the project search results.

Move the initialisation to within the project page so it can access
the selector, and use the new select() on it to allow navigation
from the search result to the project.

Change-Id: Ic14c0db3076fdd7521bb59fe4f390ad4d62ab46f
Tidy to allow for extension.

Change-Id: I0f6f70692e9a23bd668e91db51587e00a40552d0
Tidyup before extension.

Change-Id: Ib377a5bcdd6b568181d563ada7030c8cfe02ca3e
Make the file-list selection persist.

Previously, any update to the tree would clear the selection.
While probably a minor irritant to users, it prevented some
somewhat useful uses of the selection as a display mechanism.

This change means that the selection will persist (for files that
still exist) in the updated tree, when the project hasn't changed.
If the used selects a new team or project, then the selection will
still be cleared, as before.

Change-Id: Ic7dac44b452c8bbffee5890b66102c77af063436