code: function optionBuilder(options) {
    options = options || {};
  
    var results = {stdin: [], args: [], files: []};
    Object.keys(options).map(function (option) {
      var p4option = p4options[option];
      if (!p4option) return;
      if (p4option.category !== 'unary') {
        if ((options[option] || {}).constructor !== p4option.type) return;
      }
      if (p4option.category === 'stdin') {
        results.stdin.push(p4option.cmd + options[option]);
        if (results.args.indexOf('-i') < 0) results.args.push('-i');
      } else if (p4option.cmd) {
        results.args.push(p4option.cmd);
        if (p4option.category === 'mixed') results.args.push(options[option]);
      } else {
        results.files = results.files.concat(options[option]);
      }
    });
    return results;
  }
docs: build a list of options/arguments for the p4 command