refactor EqualPopulationBinning to make it run faster
do some optimization for find min interval
add comments