Added CancelReasonEventArgs.
Removed specific EventArgs in favour of the generic CancelReasonEventArgs.
Added an optional reason argument to GameSocket.Disconnect.