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.

Well, I thought some functionality throws errors without valid line numbers. We can left undefined values allowed for that.

> And I guess you should specify a column as well?

Column is optional atm so I would like to know why. I should fix that if it does only because of duck typing.