Modify smart search on addresses

The smart search for prefixes has been modified so that IP addresses are
matched with a contains-or-equals-operator instead of just equals.

Searching on a address (e.g. 1.3.3.1) will thus return covering
prefixes, such as 1.3.3.0/24 even if 1.3.3.1 does not exist. This is
great for searching on addresses and getting the best matches even if
there is no exact match.

The implementation can certainly be improved. All covering prefixes will
be marked as matches which they probably shouldn't. They are naturally
matches in a strict sense but following the idea of including parent
prefixes for giving context then they probably shouldn't be matches.
Implementing this is vastly more difficult though and is deferred
post-1.0 - tracked in #370.

Fixes #360