Beginnings of chemistry handling refactor

[Tracking bug 23893]

[git-p4: depot-paths = "//depot/software/bioinformatics/lib/python/pbcore/": change = 133047]
Smaller API for pbcore.chemistry

[Tracking bug 23893]

[git-p4: depot-paths = "//depot/software/bioinformatics/lib/python/pbcore/": change = 133054]
More informative error message on broken GFF file

[Tracking bug 23893]

[git-p4: depot-paths = "//depot/software/bioinformatics/lib/python/pbcore/": change = 133070]
Better error message on cmp/bax/bas .h5 file not found or invalid

[Tracking bug 24842]

[git-p4: depot-paths = "//depot/software/bioinformatics/lib/python/pbcore/": change = 133190]
Use better gff file example

[Tracking bug 24842]

[git-p4: depot-paths = "//depot/software/bioinformatics/lib/python/pbcore/": change = 133191]
Fix build!

[Tracking bug 24842]

[git-p4: depot-paths = "//depot/software/bioinformatics/lib/python/pbcore/": change = 133192]
Generalize FofnIO

[Tracking bug 24842]

[git-p4: depot-paths = "//depot/software/bioinformatics/lib/python/pbcore/": change = 133193]
Use the chemistry information from the new place

Falls back to the old place if new place not there

Exception if neither

Only decoded on demand, not on file load, so "bare" files can still be
loaded

[Tracking bug 24842]

[git-p4: depot-paths = "//depot/software/bioinformatics/lib/python/pbcore/": change = 133195]
Better error message

[Tracking bug 23893]

[git-p4: depot-paths = "//depot/software/bioinformatics/lib/python/pbcore/": change = 133215]
Raise an exception on empty cmp.h5 file

[Tracking bug 23893]

[git-p4: depot-paths = "//depot/software/bioinformatics/lib/python/pbcore/": change = 133282]