Adding experimental MarkerRecord
Adding better documentation, range end types.

This adds toBefore(Marker) and fromAfter(Marker), which create open
range end-points.