ACCUMULO-2827: HeapIterator optimization. Assumes it's more probable that the next entry in a merge comes from the current iterator. Also switching from PriorityBuffer to PriorityQueue<> to avoid unsafe casts

Signed-off-by: Keith Turner <kturner@apache.org>
Merge branch '1.5.2-SNAPSHOT' into 1.6.1-SNAPSHOT
Merge branch '1.6.1-SNAPSHOT'
Merge branch '1.5.2-SNAPSHOT' of https://git-wip-us.apache.org/repos/asf/accumulo into 1.5.2-SNAPSHOT
Merge branch '1.6.1-SNAPSHOT' of https://git-wip-us.apache.org/repos/asf/accumulo into 1.6.1-SNAPSHOT
Merge branch '1.5.2-SNAPSHOT' into 1.6.1-SNAPSHOT
Merge branch '1.6.1-SNAPSHOT'
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/accumulo