Simplify session choking.

Do not lock the session map twice when processing session choke.
Instead, obtain a shared pointer to the stored session and then pop it
from the map under the lock, then continue working with that shared
pointer.