While it results in the correct results, I guess I'm wary because ideally we won't have to come back to this for a while. 

I think `calculate_usage` was correct as it was and the problem was in `calculate_overage` (and `over_reservation?`, which I think could go away in light of the clarification of "overage"). I'd rather refactor `calculate_overage` to be correct than introduce complexity to what I think was already a correct method.

I do think we now have decent test coverage now, so I don't think a refactoring would be very dangerous. I realize we're trying to get this out within the next day, but I can't say I feel good about this fix as implemented.

@mlineen, If you're fine with this as a quick fix, I'll go along with it, but I'd rather see this cleaned up.