[ADAM-461] Fix ReferenceRegion and ReferencePosition impl

This commit mainly does 3 things:

1. Fixes impl of `ReferenceRegion.width`.

2. Removes `Option`s from `ReferencePosition`.

3. Corrected impl of liftOver.  However, it now has different semantics: in all cases, the list of regions must be provided in genome order.

4. Simplifies structure of case classes.

Fixes #461.
Strongly agree with that.

Note, btw, that in my mental model, region.start should always be <
region.end.