code: function readFile (file, options) {
      // return new Promise that will be resolved with data
      return new Promise((resolve, reject) => {
          // create write stream
          this.createReadStream(file, options).then(stream => {
              // create new concat stream that will call back with stream data
              var concatStream = ConcatStream(buffer => {
                  // resolve with string if encoding set or buffer
                  var data = defined(options) && defined(options.encoding)
                      ? buffer.toString(options.encoding)
                      : buffer
                  // resolve with data
                  resolve(data)
              })
              // reject on errors
              stream.on('error', reject)
              // pipe read stream to concat stream which will resolve when done
              stream.pipe(concatStream)
          })
          // pass rejection
          .catch(reject)
      })
  }
docs: @function readFile
  
  @param {string} file
  @param {object} options
  
  @returns {Promise}