AGOLGeocoder = function AGOLGeocoder(httpAdapter, options) {

  if (!httpAdapter || httpAdapter == 'undefined') {
    throw new Error('ArcGis Online Geocoder requires a httpAdapter to be defined');
  }

  if (!options || options == 'undefined') {
    options = {};
  }

  if (!options.client_id || options.client_id == 'undefined') {
    options.client_id = null;
  }

  if (!options.client_secret || options.client_secret == 'undefined') {
    options.client_secret = null;
  }

  if (!options.client_secret || !options.client_id) {

    throw new Error('You must specify the client_id and the client_secret');
  }

  this.options = options;

  this.httpAdapter = httpAdapter;
  this.cache = {};
}
Constructor
@param {Object} httpAdapter Http Adapter
@param {Object} options     Options (language, client_id, client_secret)