code: function Env(name, fn, app, options) {
    var file = normalize({ name, app, key: name, options: options || {}}, fn);
    File.call(this, file);
    utils.extend(this, file);
    this.isEnv = true;
  }
docs: Create an instance of `Env` with the given `name`, `fn`, `app` instance, and options. The `Env` class
  is used by [base-generators][] to handle some of the heavy lifting for resolving generators.
  
  ```js
  var env = new Env('foo', function(app) {
  // do stuff to app
  });
  ```
  
  @param {String} `name`
  @param {Function|Object|String} `fn` Function to be lazily invoked, instance, or filepath that resolves to one of the other types when required.
  @param {Object} `app` Base instance to use for invocation context.
  @param {Object} `options`
  @api public