Replaced CIGAR with descriptive nested alignment structure.

This pull request replaces the CIGAR and originalBases fields, with a nested mapping structure. There are several advantages to this mapping structure:

* Since each alignment block contains it's start position and reference name, it is easy to express alignments for reads that are split mapped.
* This structure addresses an ambiguity in the CIGAR/alignment spec, which does not clearly document what the alignment start position should be for a read that starts with an insertion.

This pull request also adds the alignment contig to the schema, which appears to have been missing from previous versions of the schema.

Additionally, I have updated the .gitignore file for emacs users.