The client constructor

@param config - configuration object
@constructor
function EdmundsClient(config) {
  if (!(this instanceof EdmundsClient)) {
    return new EdmundsClient(config);
  }

  var defaultConfig = {};
  defaultConfig.responseFormat = 'json';
  defaultConfig.baseUrl = 'https://api.edmunds.com';

  this.config = extend(defaultConfig, config);

  if (!this.config.apiKey) {
    throw new Error('API key must be provided');
  }
}