Make test runner more generic.
Indentation fix.
Added .editorconfig.
Editorconfig: enforce Unix line endings and extra new line in the end of file.
Added loose parser support to test runner (currently failing for 208/1680).
Loose: Added ParenthesizedExpression.
Clone test options object since calling `parse` is destructive for it.
Loose: ES6 function params support.
Make setOptions non-destructive for original object.
Collect test stats separately for each mode.
Removed manual `onComment` test in favor of new argument.
Allow specifying expected comments/tokens arrays with `onComment`/`onToken`.

Allows to avoid both custom `testAssert` and adding extra arguments in `test`.
Avoid separate handling of SpreadElement in favor of UnaryExpression parser.
Avoid UnaryExpression-specific properties in SpreadElement (just in case).
Loose: Added support for rest parameters.

Includes correction of mistype ".." vs "...".
Loose: added support for holes in arrays (but disallows trailing comma).
Fix no-options case for acorn.
Loose: Added support for assignment patterns to expression and variables.
Loose: Added support for let and const.

Fixes #146.
Loose: Added support for shorthand properties.