code: function RangeIterator(start, end, step) {
      this.start = start;
      this.end = (end !== undefined) ? end : Math.pow(2,32);    // or should this be Number.MAX_VALUE
      this.step = (step !== undefined)
          ? step
          : (this.end >= this.start)
              ? 1
              : -1;
      this.reset();
  }
docs: RangeIterator
  
  @param {Number} start
  @param {Number} end?
  @param {Number} step?
  @returns {Range}