/--- API 
Constructor

This creates a MantaFs instance, and assumes you are going to pass it in a
valid node-manta handle. Additionally, you pass in the following options:

- log<Bunyan>: log handle

Once you instantiate this, wait for the `ready` event.
function MantaFs(opts) {
    assert.object(opts, 'options');
    assert.object(opts.cache, 'options.cache');
    assert.object(opts.log, 'options.log');
    assert.object(opts.manta, 'options.manta');
    assert.number(opts.uid, 'uid');
    assert.number(opts.gid, 'gid');

    events.EventEmitter.call(this, opts);

    this.cache = opts.cache;

    this.log = opts.log.child({component: 'MantaFsApi'}, true);
    this.manta = opts.manta;
    nobody_uid = opts.uid;
    nobody_gid = opts.gid;

    this._fd = 3;
    this._fds = {};

    this.cache.on('close', this.emit.bind(this, 'close'));
    this.cache.on('error', this.emit.bind(this, 'error'));
    this.cache.once('ready', this.emit.bind(this, 'ready'));
}