On insert, use the delta value specified in the paper

The original paper gives the value of delta to use on insert as
floor(2*eps*N).  Another description I was reading gave the second
suggestion.  The second suggestion works assuming that g+delta <
2*eps*N, which is required by the original algorithm.  However, merging
tuples (as is done during value merging, an upcoming patch) causes
g+delta to be larger value, breaking the invariant.  So, switch back to
the original version so we don't break when we start merging adjacent
tuples.
Query() should calcuate rank as ceiling of phi*N, not floor.
Implement 'value merging'

From http://www.cis.upenn.edu/~mbgreen/papers/pods04.pdf,
("Power-Conserving Computation of Order-Statistics over Sensor Networks")
Appendix "A" gives an optimization called "value merging".  If two
adjacent tuple have the same v, they can be merged into a single tuple.
This optimization reduces space in large summaries where the count of
covered observations is large compared to the number of distinct
possible values.

On my dataset of 1M numbers, this reduces computation time from ~5s to
1.25s.

This causes the invariant that a single tuple only covers at most
2*eps*N elements to be violated, so we must change how we query the data
structure.  The updated query command is not given in the paper, but
is detailed as "the" query method in
http://www.mathcs.emory.edu/~cheung/Courses/584-StreamDB/Syllabus/08-Quantile/Greenwald.html .

However, the query method only works assuming that the invariant holds.
When we switch to value merging, we need the extra check.