feat(reporter): cache SourceMapConsumer

Error formatting is very slow on big files. This makes it a lot faster.
@panrafal Thanks!

What if we will be use  [memoize](https://lodash.com/docs#memoize)?

```js
   var _ = require('../lib/helpers')._;
    ...
    var getSourceMapConsumer = _.memoize(function (sourceMap) {
        return new SourceMapConsumer(sourceMap);
    });

    return function (msg, indentation) {
       ....
                var smc = getSourceMapConsumer(file.sourceMap);
       ....
```