SERVER-10069 Rewrite errorcodes.py so it captures multiline messages

- captures multiline messages, when possible
- no longer silently modifies source code. (for hygenic build)
- prompts user to reinvoke with "--fix" when conflict or zero code detected
- faster

(cherry picked from commit 153f2302cac190167dd1c039ad2c68c4aa520fcc)