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.
Merge pull request #514 from SaberUK/master+virtual-cleanup

Remove virtual keyword from a ton of methods which don't need it, introduce CXX11_OVERRIDE.
Allow spaces (and more) in oper types

The spaces are converted to '_' characters in OPERTYPE for 2.0 servers
Issue #533 suggested by @ankitkv
irc::Spacify--
m_joinflood Make the code friendlier, unset +j when the module is unloaded

See 21c3232b8e0bb41727f2d65a0b2d5304587cf6be and fae560cddc389b88c9cd34afdccf9035f4d11c5b
Get rid of strlcpy(), strlcat(), charlcat() and charremove()
Support for oper reasons in XLines
Allows an oper to use use oper-reasons in XLines utilizing XLine::DefaultApply()
E.g. /zline 0/0 0 Bad user! | The guys at 0/0 are some real dorks, we don't want them around.
Everything before | is visible to users, including the person being lined, everything after | is visible to opers.
If the reason contains several |, the first one is considered the start of the oper reason.