code: function addQueries(uri, params, toExclude) {
      toExclude = _.isBoolean(toExclude) ? toExclude : true;
      var excludes = ["key", "secret", "proxy"];
      for (var key in params) {
          // ignore excludes
          if (toExclude && _.includes(excludes, key)) {
              continue;
          }
          if (params.hasOwnProperty(key)) {
              // remove key if it exists
              uri.removeQuery(key);
              uri.addQuery(key, params[key]);
          }
      }
      return uri;
  }
docs: Append querystring using key-value pairs from an object.
  If a key exists both in the uri object and params, the one
  in the uri object will be replaced. Any camelcased key is
  automatically converted to lowercase with underscore separators.
  Some keys can be excluded automatically. They include: secret.
  
  @public
  
  @param {URI} uri - an instance of URIjs
  @param {Object} params - object with parameters
  @param {Boolean} [toExclude=true] - whether to exclude keys automatically
  @return {URIjs} the uri with the queries appended