Fix high CPU use on Windows when connecting to a server

When getting a write event for an EventHandler that wanted a single write only, remove it from the WriteSet (socketengine_select)

Fixes #556 reported by @WindowsUser
m_spanningtree FJOIN handler: Merge and take maxmodes into consideration when applying non-prefix modes
Prevent m_cgiirc from blocking indefinitely, resulting in registration timeouts on e.g. Mibbit when webirc is not used
Merge pull request #563 from ElementalAlchemist/patch-1

Prevent m_cgiirc from blocking indefinitely
Purge --with-cc in favour of the CXX environment variable.
Automatically detect the compiler which the user has installed.
Correctly detect the compiler version and whether it is acceptable.
Rename configuration variable to CXX to match everything else.
Expose compiler name to make.

- Convert ICC detection to use new variable.
Allow the user to specify any hashing mechanism supported by the underlying SSL library
Merge pull request #573 from ShutterQuick/inspircd+sslhash

Allow the user to specify any hashing mechanism supported by the underlying SSL library
Merge pull request #578 from SaberUK/master+configure-compiler-detection

Improve compiler logic in configure.
Remove restriction on changing <limits:maxline> while running.
Fix low risk crash when we can't determine maximum open socket count.
Fix the Poll socket engine on BSD.
Replace arguments for toggling socketengines  with --socketengine.
Do not send too much data over SSL in one go

Some clients fail to read it entirely and the remaining data stays in their read buffer until new data arrives
m_userip Fix incorrect "variable may be used uninitialized" warning shown by older GCC versions
Merge pull request #585 from SaberUK/master+configure-engine-selection

Replace arguments for toggling socketengines  with --socketengine.
Merge pull request #588 from SaberUK/insp20+fix-socketengines

[2.0] Fix various socket engine bugs.