Add a new contig class

- provides common sharding logic
- supports a basic cli arg parsing format
- its serializable (handy for spark jobs)
- includes helper methods for transforming into variants and reads
search requests