Allowed new viewport to use the same index if prefix is shorter.
Fixed bug that prevented map to load geometry on initialization.
Rewrote one unnecessary indentation.
Limited posted keys if viewport has fewer items than requested.

This is nice because bbox-filter now doesn't have to go through the entire list
all the time. The reasoning however is simple:
As soon as there are less items reported to be in the viewport than the app has
actually asked for, it is safe to say that the filter has gone all-the-way
through the list - and this must be it. So as soon as we are in a nested
viewport, we may only specify the keys in prefix.
Fixed bad commits ab9f4cafd64, 9da113116bec and ad66fe70b9100.
Revised _list/bbox-filter to use function variables.

This is probably what they call 'enhanced algorithms' or something:
For instance for the bounding box check, I don't need to check if GeoJSON
contains bbox for each row; If it's in the first row, it's gonna be in all of
them.
Since function calls are expensive, I still could end up worse than before, but
it sure looks 'enhanced'!!!!