Working towards multiple dates in lib/range.

This will reduce identical documents that only differ by date. I have a couple
of those in my database already and this is not the way.
Changed range/toString() to handle multiple ranges.
Removed unused function ranges/expand().
Changed range/contains() to handle multiple ranges.

There is no check if ranges overlap or are adjacent, so I am relying on
sensible user input here.
Changed range/intersects() to handle multiple ranges.
Switched to local negatives of less_or_equal() etc.

These compare functions are individual for range/intersect() and
range/contains(), so this reduces confusion. Also I like how the undefined
return value comes in handy.
Removed range/toRange() from exports.
Renamed lib/range to lib/ranges.

Because we now operate with a 'ranges' object and the library name should match
the central class or whatever.
Switched to new library name.
Adaped _views/dimension to the new ranges object.
Switched to new constructor ranges/toRanges().
Allowed ampersand character for separating ids.
Prevented lib/ranges from destructing range arrays.
Fixed bad sort function in ranges/toRanges().