Fix coalescing of adjacent or overlapping intervals in LociMap

 * Add a test case to LociMapSuite that fails with the old implementation of LociMap
 * Fix LociMap.Builder.result() so the test now passes.
Add LociSet.SingleContig.Iterator class

Implements an iterator for loci on a single contig, and adds tests for it.
Replace LociInWindowsIterator

This commit drops the LociInWindowsIterator class, adds the
SlidingWindow.advanceMultiple function as a replacement, and modifies
DistributedUtil to use this function.

The primary motivation for this is readability, but there is also a subtle bug
fix here.  The hasNext() function on LociInWindowsIterator wasn't correct in
general, since if skipEmpty=true, then it is impossible to know whether there
are really more regions available to advance to without actually doing the
advancing. (For example, suppose we have a window at locus 100, the next region
to be read by that window is at locus 150, and we want to advance to position
1000. It is impossible to know if there are in fact regions at locus 1000
without first advancing through the region at locus 150.)

Closes #214.
Minor comment fixes, remove unused imports
Comment tweaks in SlidingWindow
LociSet.SingleContig.Iterator is now a BufferedIterator. Remove some methods and make others private.
Merge pull request #248 from hammerlab/windows-iteration-refactor

Refactor LociInWindowsIterator