Errors.add should throw on invalid calls

To simplify rules debugging, prevent dumb mistakes and crashes in error reporters.
> `Invalid error location data: <' + message + '> at <' + line + '>, <' + column + '>`

I think this is a bad error message.

I would go for more specific errors like "Unable to add an error, `column` should be a number", "Unable to add an error, `line` should be a number".