Bugfix: Client pure virtual method call

**Bug:** Daemons with ClientAgents would occasionally receive SIGABORT after a pure virtual method call.  
**Problem:** Participants could be deleted by the main thread after the routing thread already put them into a list to receive the datagram currently being processed
1. `Lookup Subscribers for Channel`
2. `Another Thread Deletes a Subscriber`
3. `Call HandleDatagram on Subscriber`

**Fix:** Participants should not delete themselves (it is somewhat strange in the first place to have an object delete itself).  Instead, they will call a participant method `terminate()` which will remove their subscriptions, send post removes, etc ,etc, and mark them for deletion.  Objects marked for deletion will be removed at a datagram is routed or when the message director destructs.