Enhanced DRF by including past allocations.

The DRF allocator (master/drf_sorter.hpp|cpp) currently only uses a
framework's share to determine an ordering for allocating
resources. When there are very few resources to go around it's
possible that a framework will get allocated resources (making it have
a dominant share larger than others), use those resources, then return
those resources (making it's dominant share equal to the share of
others), and then get reallocated the resources _again_ because its
dominant share is equal to others. This can cause starvation for
frameworks.

Review: https://reviews.apache.org/r/19090