Manual integration of changes into mainline from the 1.4 branch -- wasn't able to use auto-proper. 
bug 21763

[git-p4: depot-paths = "//depot/software/bioinformatics/tools/pbh5tools/": change = 115983]
added a Factor class.

bug 21763

[git-p4: depot-paths = "//depot/software/bioinformatics/tools/pbh5tools/": change = 115987]
bug 21808
prop: 1.4

[git-p4: depot-paths = "//depot/software/bioinformatics/tools/pbh5tools/": change = 116237]
bug 21808
prop: 1.4

[git-p4: depot-paths = "//depot/software/bioinformatics/tools/pbh5tools/": change = 116239]
   bug 21822
   prop:1.4
   skip merging a zero-alignment cmp.h5 rather than raising an error.

[git-p4: depot-paths = "//depot/software/bioinformatics/tools/pbh5tools/": change = 116609]
   bug 21855
   prop:1.4
   multiple 'AlnGroup/Path's which have the same value are now merged

[git-p4: depot-paths = "//depot/software/bioinformatics/tools/pbh5tools/": change = 116704]
checking in the integration
bug 21974

[git-p4: depot-paths = "//depot/software/bioinformatics/tools/pbh5tools/": change = 117357]
bug 21974
integrating new file to mainline.

[git-p4: depot-paths = "//depot/software/bioinformatics/tools/pbh5tools/": change = 117359]
Bug 21974. Updated str method in pbh5tools exception class.

[git-p4: depot-paths = "//depot/software/bioinformatics/tools/pbh5tools/": change = 117368]
   bug 21974
   prop:1.4
   add import PBH5ToolsException 
   CmpH5Merge terminates gracefully merging two empty files (fix job 052550).
   CmpH5Merge checks file compatibility (if is required) before merging any files, 
   so that merge failure can be detected earlier.

[git-p4: depot-paths = "//depot/software/bioinformatics/tools/pbh5tools/": change = 117369]
bug 21976

Modified merge code to remove "validation" checks and allow merging of files with different pulse metrics. It should be noted that by removing the validation checks alone, the merged file will have pulse metrics consistent with the bas files. The extra code added then removes any metrics that aren't in all alignment groups. The validation check which were removed checked for emptiness, there is a new bug dealing with emptiness condition - because the currrent code chucks out empty files as opposed to properly handling them.

[git-p4: depot-paths = "//depot/software/bioinformatics/tools/pbh5tools/": change = 117729]
fix bug 22110
   prop:1.4
   Cmph5Merge.py no longer deletes all datasets (e.g. AlnArray/InsertionQV)
   in the output cmp.h5 if one of the input cmp.h5 files has no alignment. 
   This bug is related to 21976.

[git-p4: depot-paths = "//depot/software/bioinformatics/tools/pbh5tools/": change = 117916]
   bug 22187
   CmpH5Merge.py - Make sure that the dataset "/AlnInfo/Path" is not empty before accessing its entries.

[git-p4: depot-paths = "//depot/software/bioinformatics/tools/pbh5tools/": change = 118177]
bug 22243

fix for the bug. I have to convert the 'object' dtype into a vlen string and then write it back; not great, but works.

[git-p4: depot-paths = "//depot/software/bioinformatics/tools/pbh5tools/": change = 118338]
bug 21763

Added CmpH5Select, a generalization of split. Factored up CmpH5Format.

[git-p4: depot-paths = "//depot/software/bioinformatics/tools/pbh5tools/": change = 118648]
Contact email should be devnet@

[Bug 21925]

[git-p4: depot-paths = "//depot/software/bioinformatics/tools/pbh5tools/": change = 118804]