Whitespace
Introduce Change, ChangeSet and ChangeUtil in server code.

These classes are intended to decorate EntityMessage and
friends to hold session specific code such as why an EntityMessage
is routed to a particular session (recorded as part of channel
field)
Update the encoder so that it is possible to send channels that triggered change as part of the payload
Remove unused field
Add manual clone method to EntityMessage
Make merge public access
Update the remainder of the server code to enable replication of channel details
Move the Change classes into a more appropriate package
Fix incorrect nullability annotation
Optimise imports
Name field appropriately
Start to record the changes in development
Extract out TestSession to top level class
Pass around ChangeSet as the collection of changes in play
Avoid erro where the changes array is not present
Add channel actions to ChangeSet
Add some nullability annotations
Whitespace
Update ChannelAccumulator to handle actions
Update encoder to handle actions