code: function read_p(path, schemaPath) {
    return Q.nfcall(fs.readFile, path, 'utf8')
    .then(function(cdata) {
      return Q.nfcall(fs.readFile, schemaPath, 'utf8')
      .then(function(sdata) {
        return schema.applySchema(parse(cdata, path), parse(sdata, schemaPath));
      });
    });
  }
docs: Reads the given config file. The returned promise resolves to the ConfigNode
  object at the root of the config file.
  
  @param {String} path File path for the config file.
  @returns {Promise} Promise that resolves to ConfigNode.