Update all receive messages to contain properties about their data

-Updated ReceiveMessage interface to not contain a Client object as a
parameter
-Receive messages will no longer use Factories and Client objects and
directly update them. The data is first stored in variables and then
processed by other classes (not implemented yet).
-Helper classes such as MessageChannel, MessageUser, ChannelModeData,
UserModeData and NamesItem assist them in storing the data.