function Mode (stat) {
  if (!(this instanceof Mode)) return new Mode(stat);
  if (!stat) throw new TypeError('must pass in a "stat" object');
  if ('number' != typeof stat.mode) stat.mode = 0;
  this.stat = stat;
  this.owner = new Owner(stat);
  this.group = new Group(stat);
  this.others = new Others(stat);
}
`Mode` class.

@param {fs.Stat} stat a "stat" object (anything with a `mode` Number property)
@api public