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.

Wes and I discussed using https://github.com/raywenderlich/swift-style-guide#constants as a basis for style conventions over IRC. Not sure if you were part of those discussions, but it recommends using CamelCase for constants instead of ALL_CAPS. If you agree with those conventions, we should probably update the README and try to enforce them rigorously to keep our code more uniform.