rewrite for 1 CAS op instead of separate atomic int + concHashMap,
because before we could have races between setting values in the map,
and bumping the "seq number". Now those two values are in the same
object, and are CAS updated - so no race can happen between those.

The unsubscriber can still get messages out of order, because between
the CAS in the event bus and getting to the line where we send the
message to the actor (register/unregister) a thread could have parked
and another one could succees it's CAS and proceed with sending the
message. The unsubscriber will stash out-of-order messages, and unstash
them once the in-order message arrives.

Did not performance test the impact of switching to this from concurrent
hash map. Do we have some specific way of doing this // cc @patriknw?