assertions.*: ALL raised `AssertionError`s now receive one argument: the error message.

Otherwise, the error’s `str` value contains all the placeholder crap (like `{0}` and stuff).

Since this module is all about helpful error messages, I figured it would be best for all assertions made with `@assertion` to raise `AssertionError`s with only a single argument.
core: renamed some variables

Nothing huge, but I think this small bit of name tweaking makes the code a teeny bit easier to understand.