code: function(arr, num, padding) {
      var result = [], len = arr.length, group;
      if (len === 0 || num === 0) return arr;
      if (isUndefined(num)) num = 1;
      if (isUndefined(padding)) padding = null;
      simpleRepeat(ceil(len / num), function(i) {
        group = arr.slice(num * i, num * i + num);
        while(group.length < num) {
          group.push(padding);
        }
        result.push(group);
      });
      return result;
    }
docs: *
  @method inGroupsOf(num, [padding] = null)
  @returns Array
  @short Groups the array into arrays of `num` elements each.
  @extra [padding] will be added to the last array to be of equal length.
  
  @example
  
  [1,2,3,4,5,6,7].inGroupsOf(4)    -> [ [1,2,3,4], [5,6,7] ]
  [1,2,3,4,5,6,7].inGroupsOf(4, 0) -> [ [1,2,3,4], [5,6,7,0] ]
  
  @param {number} num
  @param {any} [padding]
  
  *