Errors.add should throw on invalid calls

To simplify rules debugging, prevent dumb mistakes and crashes in error reporters.
Probably we can allow calling with undefineds, but deny with strings/arrays/etc. I think it would be much better.