Style tweaks: preface privates with underscore, capitalize enum members.
Rather than creating a thread to read datagrams, just set the socket to
nonblocking mode and check it before simulating.  This addresses one aspect
of the lack of synchronization on AgentList, but there are other issues...