Errors.add should throw on invalid calls

To simplify rules debugging, prevent dumb mistakes and crashes in error reporters.
Oh, because it's declared as optional in jsdoc. Probably it isn't right.