slight refactoring and build fixes
refactor UDP packet sending to go through a single function
separate out the socket interaction to a separate socket class with a saner interface. prepare for an efficient back-end
use a synchronous calls to send on one of the send sockets, using rund-robin
add architecture diagram. spin on receive socket.
factor out key-rotation. rotate keys every 6 hours. use siphash for syn-cookies (connectiojn-ID)
actually rotate keys