Fix terrible memory leaks in network servers

The messages would get copied into the std::list, but the original
one wasn't getting freed.

It now declares the original in lcoal scope so it gets feed properly.
We could probably rejig this to completely avoid the allocate/copy/free
using some sort of ringbuffer or something.