Added the rangeList function and allow range to exclude large

I've added a function called rangeList which will return an array representation of all the range start and stop points. Each element in the array is a range with its start and end points, single ranges that are only one value only have stop points and no end point (since its the same). This makes it far more efficient for using Number::range results in such scenarios as between queries when you don't want the whole list, just a list of start and stop points. I also had to add a param to the range function to tell it to exclude large ranges in its results otherwise large arrays would slow this way down. This might be questionable but still passes all the tests.