Added BAM file detection.

We're now reading all file samples into a byte array before deciding how
to turn it into a string.
More work towards getting unit tests working.
The buffer returned by (sip) is now the correct length.
Bumped the version.