Refactor error/message printing routines.

Move error routines to their own file away from mars.c, and use message() and verbose() rather than printf/fprintf for various compiler messages - including ```pragma(msg)```, and for verbose/verbatim output.