function Agent(family, major, minor, patch, source) {
  this.family = family || 'Other';
  this.major = major || '0';
  this.minor = minor || '0';
  this.patch = patch || '0';
  this.source = source || '';
}
The representation of a parsed user agent.

@constructor
@param {String} family The name of the browser
@param {String} major Major version of the browser
@param {String} minor Minor version of the browser
@param {String} patch Patch version of the browser
@param {String} source The actual user agent string
@api public