Move dynamic_reference and related classes to base.h
Seperate ModeReference into ChanModeReference and UserModeReference
Replace hardcoded mode letters, part 2

This changes all remaining Channel::IsModeSet() and Channel::GetModeParameter() calls to use ModeReferences for modes that were created by other modules or the core
Move SetNoticeMask(), FormatNoticeMasks() and ProcessNoticeMasks() from the User class to the snomask modehandler
Replace hardcoded mode letters, part 3

This changes most remaining User::IsModeSet() calls to use ModeReferences for modes that were created by other modules or the core
Get rid of enum UserModes and mark User::modes as private
umode_s Deduplicate code
m_ojoin Stop hardcoding +Y, move global vars into a class, move initialization code into init()
Stop hardcoding user mode +s