search: use the nicer soup api for constructing the search URL

Less allocations, less hand-managed buffers, what's not to like.
search: do not leak memory allocated for uri
search: search refinements (long/lat search, relevance sort, max count)
search: use both near/ll= and query=

Can't be bothered to have different search fields, so just have anything
preceding a ':' be near=... or ll=..., depending on which way the combo
is flipped.

Anything trailing ':' gets shoved in query=...