Improve search logic when dealing with multiple location areas, closes #269.

Before we were primarily based on the order of cell entries in the query.
If the first cell entry in the query resulted in a location area match,
we would potentially ignore any better cell matches we got from different
location areas later on - if our range estimate of the first location area
didn't encompass the position of the later cells. Different location areas
also include those from two different SIM cards and two different radio types,
or different operators.

We now only consider a single location area in searches and pre-sort them
to get the one with the best available data (either the most cell entries
or the one with the best precision / cell with the lowest range estimate).