Uniform treatment of search queries

Our approach to building search URLs for the default search engine and for custom search engines has been different.  See #1334 for a case which is broken.  In fact, if you define Wikipedia to be your default search engine, then our long-established existing implementation is broken too

This PR introduces a consistent approach to building search URLs:
- URL encode each "word"
- Join url-encoded words with `+` instead of `Space`.

This is how chrome handles custom search engines, and seems (?) to work in more cases.

Note... There's a long discussion in #1169 about custom search engines which are admitted by our current implementation but probably shouldn't be.  This PR breaks such custom search engines (e.g it breaks a "custom search engine" which calls arbitrary Javascript).

Replaces #1335.
Fixes #1334.
This comment should be updated to reflect that we know that we can't access chrome's search engines, by design. Might also be worth referencing the relevant chromium issue (closed as WONTFIX).