Errors.add should throw on invalid calls

To simplify rules debugging, prevent dumb mistakes and crashes in error reporters.
Is `0` a valid line number? I doubt it.

And I guess you should specify a column as well?