Graph Adaptations of Variants, References, and Reads APIs

This pull request seeks to merge a first shot at adapting the Variants, References, and Reads APIs to a graph reverence into the *`graph` branch*, which is not the main master branch. They will sit there until they are ready to replace the current non-graph-capable API.

This PR also includes some commits that have been merged into master since the graph branch was created, but you can ignore those.

The biggest changes are in the Variants API, which has been converted to a monoallelic model. Additionally, the References API now has support for `Reference`s branching off of other `Reference`s in the same `ReferenceSet`, and the Reads API has support for reads that are aligned to multiple `Reference`s without being chimeric (because they follow adjacencies in the graph of `Reference`s).

Closes #189.
These documentation changes should be made in a separate PR against master I think.