Initial version of an all-purpose lookahead-tray component.

This isn't quite complete yet - I've done a couple of unusual things,
so I want to open it up to discussion first.

You can see a particular instantiation of the component by going to a
database, then clicking on the database name. That will open up a tray
where you can type to get a list of other matching databases. Clicking
<enter> or selecting the item from the list will take you to that
particular DB page.

Closes COUCHDB-2420
Is there a special reason why we don't always use dependency injection and sometimes lazy initialize the lookaheadTray inside this Component? Can we change that to just one way it works? - I would prefer DI