Additionak test cases for BAM bin values

Also update doctest using the bins.bam file.
Basic Python 3 updates (since no longer use 2to3)
Revert changes to bgzf code made on SAM/BAM branch
Use Bio._utils.run_doctest for SAM/BAM
Relax CIGAR comparision after testing Pysam 0.8 on Python 2.6
Tweak for corner case; Clearer exception message.

Resolved this issue testing using Pysam 0.8:

$ python2.6 test_SamBam_pysam.py
test_bins_bam_vs_bam (__main__.CrossCheckParsing) ... ok
test_bins_bam_vs_sam (__main__.CrossCheckParsing) ... ok
test_bins_sam_vs_bam (__main__.CrossCheckParsing) ... ok
test_bins_sam_vs_sam (__main__.CrossCheckParsing) ... ok
test_ex1_header_bam_vs_bam (__main__.CrossCheckParsing) ... ok
test_ex1_header_sam_vs_bam (__main__.CrossCheckParsing) ... ok
test_ex1_header_sam_vs_sam (__main__.CrossCheckParsing) ... ok
test_index_bins (__main__.CrossCheckParsing) ... ok
test_index_ex1 (__main__.CrossCheckParsing) ... ok
test_index_tags (__main__.CrossCheckParsing) ... ERROR
test_tags_bam_vs_bam (__main__.CrossCheckParsing) ... ok
test_tags_bam_vs_sam (__main__.CrossCheckParsing) ... ok
test_tags_sam_vs_bam (__main__.CrossCheckParsing) ... ok
test_tags_sam_vs_sam (__main__.CrossCheckParsing) ... ok

======================================================================
ERROR: test_index_tags (__main__.CrossCheckParsing)
----------------------------------------------------------------------
Traceback (most recent call last):
  File test_SamBam_pysam.py, line 161, in test_index_tags
    (chr1, 120, 130),
  File test_SamBam_pysam.py, line 148, in index_check
    biopy_list = list(biopy_bam.fetch(ref, start, end))
  File /Library/Python/2.6/site-packages/Bio/Sequencing/SamBam/__init__.py, line 539, in fetch
    bgzf.split_virtual_offset(now)[1]))
ValueError: Premature end of file? Expected offset 235405312 (3592, 0), was 233570304 (3564, 0); read '' (0 bytes), now 235405312 (3592, 0).

----------------------------------------------------------------------
Ran 14 tests in 99.603s

FAILED (errors=1)
Testing with pysam 0.8; Python 3 izip_longest fix

Part of this was a hack to cope with pysam bug 29 (bytes
versus unicode strings under Python 3):
https://github.com/pysam-developers/pysam/issues/29

This also requires first fixing pysam bug 28, see my patch:
https://github.com/pysam-developers/pysam/issues/28

There is still a Python 3 problem on one of the bin tests...