Avoid zombie sessions corrupting living sessions

A logged out session failed to deregister it's keepalive.  As a result, the zombie
keepalive executed and failed.  The failure path then corrupts the bmc_handlers structure.
Correct this by both deregistering the erroneous keepalive and having the mark_broken
function be more careful about deleting a member of the class hash that it may have
nothing to do with.

Change-Id: I41251309dc27ffaca89cc7deef9bf16a61f1d07e