This solves two issues:
1. Some notes were enabled explicitly for some verbosity levels, so
--hintName:on has no effect if verbosity level was too low.
2. Verbosity level for notes is not longer scattered across the source code,
instead if now lives in msgs.nim NotesVerbosity array
3. Individual note settings have stronger effect than verbosity setting,
so --hintName:off will disable hint regardless of high verbosity setting,
and vice-versa --hintName:on will enable hint even on low verbosity setting.
Previously introduced node comparison `==` was working somehow wrong on nodes
returned from getType(a), comparing just ids of the symbols.
Recently introduced `==` change 47dce26886
started comparing symbol nodes pointer-wise, thus strictly. Since getType(a)
always creates new symbol pointing to the type, comparing two such nodes using
`==` always returns false, even they point to the same type.
That is why we need a new sameType macro to be able to tell if these nodes
point to the same type.
Looks like the problem is that the compiler expected the hash to be a certain
number of characters, but the file actually contained a (shorter) crc hash.
Since we introduced automatic colors on terminals (via isatty) there is no way
to turn it off, since (undocumented) --useColors just turns them on.
This replaces --useColors with --colors:on|off, so anyone who prefers
non-colored compiler messages may now turn it off now.
1. Introduce styledMsgWriteln which can be used same way as styledEcho.
2. Make file names and positions use bright white like in other compilers, so
only message types are colored.