Astron/Astron — pull request #274 by kestred (2014-08-06 04:44:36+00:00)
Title: 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.