Do not print error codes by default

Adds a new compiler flag to emit error codes, and disable it by default. Fixes #693.

I feel that this should be taken care of by the flag as well. I don't think the user cares whether something is a warning or an error unless they switch this on.