[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.
@massie and I were talking about this in IRC, we really need to explain somewhere _not in code_ what our coordinate conventions are.  I mean, I like the comments, but we also need non-code versions of the same comments.