support for SA flag in sam-record

In the sam spec, the "**SA**" attribute is used to store the "Other canonical alignments"

The following pull request

*  defines a new Interface **htsjdk.samtools.OtherCanonicalAlignment** defining the new alignment. I've used the same functions than in SAMRecord (getReferenceName, getAlignmentStart, etc... )
* implements a private implementation of htsjdk.samtools.OtherCanonicalAlignment in **htsjdk.samtools.SAMRecord**
* SAMRecord contains a new method **getOtherCanonicalAlignments()** returning a List<OtherCanonicalAlignment>
* I've added a definition of the SA flag in **htsjdk.samtools.ReservedTagConstants**
* I've implemented a test in **src/tests/java/htsjdk/samtools/OtherCanonicalAlignmentTest.java**

```bash
$ java -cp (...)  org.testng.TestNG   -testclass htsjdk.samtools.OtherCanonicalAlignmentTest
[Parser] Running:
  Command line suite


===============================================
Command line suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================
```


Is there a reason to prefer Pattern.split here over the split method on String?