Interval: add interval parsing support

Class interval holds intervals (chr, start, stop) and can read and write
all the following interval types: BED, GATK and PICARD. Functionality
includes:

* Creating and manipulating Interval objects
* Reading interval files in any of the three formats (including mixed formats)
* interval tiling routines
* tests for the entire API

Doesn't include:

* header validation for picard format
* interval set operations (todo)

fixes #163