update qtree compress to be more conservative

The current qtree compress implementation is too aggressive. In the current implementation new distinct nodes cannot be formed if the count of the qtree is too high.

I've updated the implementation to be more aligned with the algorithm outlined here: http://www.cs.virginia.edu/~son/cs851/papers/ucsb.sensys04.pdf

I've checked my solution by playing around in `./sbt algebird-core/console` and via `./sbt algebird-test/test`

This is also my first pull request for algebird, please let me know if I should have taken some extra steps.
Not sure if this is any faster:

```scala
  lowerChild.isEmpty && upperChild.isEmpty
```