St3fan/bug1109656 location completion

This implemented a first iteration of location completion. It implements the following rules:

* If the user types `www.m` and we have a completion suggestion `http://www.mozilla.org`, the completion will be `www.mozilla.org`.
* If the user types `m` and we have a completion suggestion `http://www.mozilla.org`, the completion will be `mozilla.org`.
* If the user types `http://wwww.m` and we have a completion suggestion `http://www.mozilla.org`, the completion will be `http://www.mozilla.org`.

In all cases the completion suggestion will *also* include the actual source URL `http://www.mozilla.org` - so that we can make a difference between what is typed in the location field and what that actually resolves to.

Currently the patch includes a fixed list of mock suggestions. I will file a followup bug to hook this up to our real datasources.

The code currently does not deal with paths in URLs. This is intentional. If we require that, then I will add a followup bug to adjust the API accordingly.

I'm sad GitHub doesn't show trailing whitespace since "git show" shows them as big nasty red blocks. In general, I think it's good style to not commit trailing whitespace. Can you rebase this with --whitespace=fix? It would also be good to enable Xcode's "Automatically trim trailing whitespace" with "Including whitespace-only lines".

On a related note, I saw that 799b2fd8b36501d8997703f9058f10b7324ea238 introduced a lot of whitespace, which I just clean up in ba7055cd1ac40c3eb41da2633076fc1d0070ffdf. I wish there were a good way to enforce this for every contributor somehow...