Moving from stash to branch*
When `ServerDemo` convar is enabled on startup, the server will recordall network traffic on the server as one big demo file
Packets sent to multiple players are only recorded once (store list of players sent to)
Inbound & outbound data is stored in the order it was processed on the server
The demo is written to disk on a separate thread to make performance impact minimal
Demo is split into 1 minute chunks for testing (will be 5 minutes later)
Each demo chunk is given a unique filename with the .sdem extension (represents .serverdemo)
A json "header file" is written with each demo chunk wiht information on how the demo should be loaded (list of players, number of packets, time span, etc)
Changed pooling of NetRead & NetWrite to use reference counting to account for another thread needing to finish processing before they are pooled