Implement optional asynchronous configure function.

Certain linting tools could be configured by an external file or
multiple files, JSHint being the closest example. This commit introduces
an asynchronous configure(fullPath) function which can be optionally
implemented by the linting provider in case it has to configure itself
before running for a certain file.

Failed to configure as well as throwing an error is treated as a special
case and is reported through result.err which is made visible to the
developer in addition to console.log.

Additionally, some irrelevant improvements:

- _.forEach is replaced with Async.doInParallel when running linters.
- Rendering DOM is moved to inspectFile.then handler so it gets the
  results of processing reliably.
- Terminate run measurements properly.
- Consider missing codeSnippet when a general error occurs line is
  reported negative.