Coverage integration

Powerful and fast coverage collection.

Tests and sources are split into sets (file + test for file), and coverage of every set is calculated separately.

Package information: https://github.com/mdevils/separated-coverage

Output (for `tree` reporter):

```
  lib 91%
    checker.js 89%
    string-checker.js 90%
    errors.js 87%
    js-file.js 51%
    tree-iterator.js 0%
    options 88%
      preset.js 0%
      additional-rules.js 100%
      exclude-files.js 100%
      file-extensions.js 100%
    cli-config.js 98%
    cli.js 89%
    rules 99%
      require-curly-braces.js 100%
      require-multiple-var-decl.js 100%
      disallow-multiple-var-decl.js 100%
      disallow-empty-blocks.js 100%
      require-space-after-keywords.js 100%
      disallow-space-after-keywords.js 100%
      require-parentheses-around-iife.js 100%
      require-left-sticked-operators.js 100%
      disallow-left-sticked-operators.js 100%
      require-right-sticked-operators.js 100%
      disallow-right-sticked-operators.js 100%
      require-operator-before-line-break.js 100%
      disallow-implicit-type-conversion.js 100%
      require-camelcase-or-uppercase-identifiers.js 100%
      disallow-keywords.js 100%
      disallow-multiple-line-breaks.js 100%
      disallow-multiple-line-strings.js 100%
      validate-line-breaks.js 94%
      validate-quote-marks.js 100%
      validate-indentation.js 98%
      disallow-trailing-whitespace.js 100%
      disallow-mixed-spaces-and-tabs.js 100%
      require-keywords-on-new-line.js 100%
      disallow-keywords-on-new-line.js 100%
      require-line-feed-at-file-end.js 100%
      maximum-line-length.js 100%
      validate-jsdoc.js 98%
      require-yoda-conditions.js 100%
      disallow-yoda-conditions.js 100%
      require-spaces-inside-object-brackets.js 100%
      require-spaces-inside-array-brackets.js 100%
      require-spaces-inside-parentheses.js 100%
      disallow-spaces-inside-object-brackets.js 100%
      disallow-spaces-inside-array-brackets.js 100%
      disallow-spaces-inside-parentheses.js 100%
      require-blocks-on-newline.js 100%
      require-space-after-object-keys.js 100%
      disallow-space-after-object-keys.js 100%
      disallow-quoted-keys-in-objects.js 100%
      disallow-dangling-underscores.js 100%
      require-aligned-object-values.js 100%
      disallow-padding-newlines-in-blocks.js 100%
      require-padding-newlines-in-blocks.js 96%
      require-newline-before-block-statements.js 100%
      disallow-newline-before-block-statements.js 100%
      disallow-trailing-comma.js 100%
      require-trailing-comma.js 100%
      disallow-comma-before-line-break.js 100%
      require-comma-before-line-break.js 100%
      disallow-space-before-block-statements.js 100%
      require-space-before-block-statements.js 100%
      disallow-space-before-postfix-unary-operators.js 100%
      require-space-before-postfix-unary-operators.js 100%
      disallow-space-after-prefix-unary-operators.js 100%
      require-space-after-prefix-unary-operators.js 100%
      disallow-space-before-binary-operators.js 97%
      require-space-before-binary-operators.js 100%
      disallow-space-after-binary-operators.js 97%
      require-space-after-binary-operators.js 100%
      require-spaces-in-conditional-expression.js 100%
      disallow-spaces-in-conditional-expression.js 100%
      require-spaces-in-function.js 100%
      disallow-spaces-in-function.js 100%
      require-spaces-in-function-expression.js 100%
      disallow-spaces-in-function-expression.js 100%
      require-spaces-in-anonymous-function-expression.js 100%
      disallow-spaces-in-anonymous-function-expression.js 100%
      require-spaces-in-named-function-expression.js 100%
      disallow-spaces-in-named-function-expression.js 100%
      require-spaces-in-function-declaration.js 100%
      disallow-spaces-in-function-declaration.js 100%
      require-capitalized-constructors.js 100%
      safe-context-keyword.js 100%
      require-dot-notation.js 100%
      require-space-after-line-comment.js 100%
      disallow-space-after-line-comment.js 100%
      require-anonymous-functions.js 100%
      disallow-anonymous-functions.js 0%
    token-helper.js 0%
    utils.js 0%
    comment-helper.js 0%
    reporters 20%
      junit.js 100%
      text.js 0%
      checkstyle.js 0%
      console.js 0%
      inline.js 0%
      inlinesingle.js 0%
Total 91%
```
Should we replace carets with tildas?