[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.
What exactly is this testing?  Does it make sense to instantiate an empty `ReferenceRegion`?