fix-errids

An attempt to make our error and warning IDs more uniform in structure.

This closes #348.