Implemented from the protocol description at https://developer.valvesoftware.com/wiki/Master_Server_Query_Protocol
Things that are unimplemented:
- Being tested at all lol.
- Rate-limiting.
The wiki's example packets for "joining" the master server don't include things like server hostname & gametype, but I implemented those fields anyway.
AGPL-3.0-or-later because it scares people.