Refactoring a ton of stuff to work with s&box
* Got rid of unsafe code in compression utils
* Replaced Guid use with a custom Uuid class because using Guids required Unsafe
* WIP refactoring network serialization to use a codegen'd binary serializer instead of JSON because System.Text.Json can't do inheritance
Refactor to support deserialize instantiating using a constructor
Support Nullable<T>
Codegen loads the project with MSBuild so it has proper type info
Add support for List<T> serialization
Support serializing byte[], ImmutableList, and ImmutableDictionary
Some bug fixes
Mark more stuff as NetSerialized
Kill JSON
Swap out the TCP server for a WebSocket server
Update Unity client to confirm things still work
Updates to get sbox working
Include some neighbor heightmap data in chunks for getting rid of seams
Remove EditorLogin
Close channels a bit more eagerly
Put cancellation in where channels may get blocked up
Server changes to allow getting UserIds in chat messages
Log frontend server connection errors to make troubleshooting disconnects easier
Fix serialization not handling null strings
Update Towns.Data to not use assets from Unity
Update Towns.Data
Add notification for when the player's inventory is full and they can't gather more resources