function registerCmdTask (name, opts) {
    opts = _.extend({
      cmd: process.execPath,
      desc: '',
      args: []
    }, opts);
    grunt.registerTask(name, opts.desc, function () {
      // adapted from http://stackoverflow.com/a/24796749
      var done = this.async();
      grunt.util.spawn({
        cmd: opts.cmd,
        args: opts.args,
        opts: { stdio: 'inherit' }
      }, done);
    });
  }
Delegate task to command line.
@param {String} name - If taskname starts with npm it's run a npm script (i.e. `npm run foobar`
@param {Object} d - d as in data
@param {Array} d.args - arguments to pass to the d.cmd
@param {String} [d.cmd = process.execPath]
@param {String} [d.desc = ''] - description
@param {...string} args space-separated arguments passed to the cmd