Improve error-reporting in case of NodeError exceptions.
Adding function to chain/merge sorted sequences.
Add missing whitespace in string.
Re-implementation of bam_depths in Python.

This change is motivated by the unpredictable behavior of the old
BEDTools based implementation, which spawned a BEDTools instance
per accumulator. This had the effect of unpredictable CPU and RAM
usage, enough to kill a desktop with 8GB of RAM.

This implementation is somewhat slower for whome-genome depths, but
significantly faster when only regions of a genome are to be examined.

Additionally, for simplicity, the new implementation requires that the
full BAM (realigned or RAW) has been generated, which means that the
depth cannot be calculated in parallel with the generation of this BAM.
This can be avoided for the whole-genome calculation, as it does not
require indexed access to the files.
Minor cleanups.
Update pylint config.
Add checks for duplicate records in input files.
Minor rework of new depth histogram code.

Allows the histogram for the entire genome to be calculated from
the partial BAMs (e.g. library BAMs), while requiring that the
final BAM(s) have been built if regions are enabled. Thus, this
allows the long-running task of calculating the whole genome
histogram to be done in parallel with the creation of the final
BAM, and only the (typically) short running region specific
histograms have to be done AFTER the final BAM has been built.