Fix accessibility in intrusive_list_node and return value of operator-- in intrusive_list
m_spanningtree Remove the (now) undocumented disablehmac config option
m_spanningtree Don't rely on "m_sha256.so" being loaded, use any "hash/sha256" service provider
m_blockcaps Simplify CTCP ACTION (/me) detection
m_blockcaps Get rid of needless cast, use unsigned types
Eliminate usage of has_one in Channel::UserList()
Move checks determining whether a user is allowed to view the NAMES list of a channel from Channel::UserList() to cmd_names
Avoid double Membership lookup in Channel::UserList()

The user is always inside if UserList() is called from ForceJoin() and the HasUser() result obtained in the /NAMES handler can be reused
Fix m_cgiirc to set the user's host straight away when using WEBIRC.
m_services_account Remove now needless workaround added to 2.0 to display the correct host when cgiirc users log in using SASL
m_filter Use case insensitive compare for exempted targets, add typedef for the set
m_filter Rename exemptfromfilter field to exemptedchans, use std::set::count()
m_filter Rename config key used in exemptfromfilter from "channel" to "target", but keep compatibility
Redirect the reader to filters.conf.example for advanced filter configuration
m_filter Allow exemption of messages sent to nicks specified in <exemptfromfilter> tags

Issue #655
Remove various broken/useless features from the build system.

- Removed support for changing the build directory using configure.
  This can still be set using make BUILDPATH=foo.
- Removed support for SPLIT_CC builds. This is not documented
  anywhere and is quite useless as it doesn't work.
- Remove STARTSCRIPT from configure; always install the perl
  helper.
Clean up a bunch of legacy code in the Poll socketengine.
Implement support for numeric character references.