- Normalize command code changed to be more idiomatic python and more idiomatic numpy usage
- Tests added for normalize command
- Fixes some problems with region calculations in normalize command:
* `mergeRegions` created 0-length overlaps. if two regions are next to
each other they get merged, but they don't overlap. A zero-length
overlap is created, which can cause a problem later when trying to
get reads from the bigwig file.
* region_overlap entries might have the wrong end.
(line 80) `region_overlapped.append([currChromo, currStart, pastEnd])`
is incorrect if currEnd is < pastEnd. Changed to
`region_overlapped.append([currChromo, currStart, min(currEnd, pastEnd)])`
* `excludeOverlapRegion` didn't fully separate region overlap cases.
"overlap regions end inside the target region" and "overlap regions
start inside the target region" can share some overlaps when one
starts _and_ ends in the same region. This Fourth case is now
handled separately.
* in `excludeOverlapRegion` calculating non-overlapping regions had some subtle
bugs.