Cleanup: Introduce generic ReadOnlyDictionary and use it instead of ZusiData
Cleanup: Replace custom delegate for receive event

* Rename ZusiData to DataReceivedEventargs<> that inherits from EventArgs
* Use EventHandler<DataReceivedEventArgs<>> instead of custom delegate
Codechange: Introduce ObsoleteTypes.cs

Add "new" ZusiData type marked as obsolete and throw an error when it is
used. Hopefully, this acts as a pointer to the required action when
updating applications.
Codechange: Move obsolete ZusiTcpConn to ObsoleteTypes.cs
Codechange: Use EventHandler<> for error event
Cleanup: Remove unused custom delegates
Cleanup: Move EventArgs inheritors to their own file