m_spanningtree UID handler: Fix parsing user modes

Spotted by @ShutterQuick
Issue #532
Add method for writing server notices.

This allows us to send a server notice to a user without worrying
about whether they are registered or not.

If a user receives a server notice and they are not registered
then the nickname field will contain an asterisk instead of their
nick name.
Merge pull request #523 from SaberUK/master+server-notice

Add method for writing server notices.
Replace some C-isms with C++-isms.

* 'const char*' to 'const std::string&'.
* snprintf to std::string concatenation.
* Replace duplicated OneOfMatches with InspIRCd::MatchMask.
Merge pull request #531 from SaberUK/master+snprintf-removal

Replace some C-isms with C++-isms.
Tidy up keywords on module methods.

- Remove virtual keyword from a ton of methods which don't need it.
- Add override keyword to a ton of methods which do need it.