_search(path, withOptions = {}, cb = undefined) {
      let requestOptions = {};
      Object.keys(this.__defaults).forEach((prop) => {
         requestOptions[prop] = this.__defaults[prop];
      });
      Object.keys(withOptions).forEach((prop) => {
         requestOptions[prop] = withOptions[prop];
      });

      log(`searching ${path} with options:`, requestOptions);
      return this._requestAllPages(`/search/${path}`, requestOptions, cb);
   }
Perform a search on the GitHub API
@private
@param {string} path - the scope of the search
@param {Search.Params} [withOptions] - additional parameters for the search
@param {Requestable.callback} [cb] - will receive the results of the search
@return {Promise} - the promise for the http request