Modify string compare functions.

Unit tests were failing, unit tests could be better specified, but for
now just switch to the reliability of the string compare functions
always returning, say, -1, instead of any integer less than 0.
Simplify error reporting macros.