First batch of cleanups along with a few fixes
These clean-ups and the (few) fixes result from working with the integrated server for a bit. One of the bigger changes is partially deferring processing of analysis data to analysis threads. This removes some load from the main receiver thread and also allows reusing many of the objects that were previously allocated for each analysis request, which visibly reduces the allocation rate in the server.