[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.
Agreed -- the convention of "end < start" to designate negative-strand regions if _messed up_