* Improve handling of NPC names, fixes#1640
Moves the logic to a Util method (instead of duplicated in each module), and adds the "prefixColors" portions (replacing just a static 'RESET' code).
If colors and effects are combined, using only the most recent effect is sufficient (eg reapplying bold) as that should produce effectively no change while still having a color code stuck into the name as is needed to break NPCs looking like real players internally.
* Additional NPC name improvement: fix color code splliting
a name consisting of a color code followed by 15 letters would get split in the middle of the color code, rather than around it. This fixes that.