Errors.add should throw on invalid calls

To simplify rules debugging, prevent dumb mistakes and crashes in error reporters.
>> I mean 1 is the first line number. 0 looks invalid.
> Yup. But what to use by default? Can it be used without line number?

We are talking about the test, right? For the test use can use `1`.