code: function splice(source, keys){
      var result = {};
  
      if (!keys)
        return extend(result, source);
  
      for (var i = 0, key; key = keys[i++];)
        if (key in source)
        {
          result[key] = source[key];
          delete source[key];
        }
  
      return result;
    }
docs: Creates a slice of source object and delete keys from source.
  @param {object} source Any object can has properties.
  @param {Array.<string>} keys Desired key set.
  @return {object} New object with desired keys from source object.
  TODO: fix case when keys is not passed; it returns copy of source,
  but doesn't delete anything (source should become empty object)