CLI: Support a maxErrors option to limit the number of reported errors

- [x] Add info to readme
- [x] Test config version of maxErrors
- [x] Test default value (50) in lib/errors

Fixes #238 
Do we really need to throw here? You throwing here to stop the checks iterations, but you could make`errors#add` just return result of the operation, i.e. `true/false`?

If `false` - then stop the checks? `try..catch` is expansive and usually used only when you definitely can't avoid it.

And why you always call `getErrorCount`? Since we know about `_errorList` property, its private, yes, but its our private and we're working with it in the next line. It would better to just check the property than create new and needless function scope.