* to be able to introduce new messages and still support rolling upgrades,
i.e. a cluster of mixed versions
* note that it's only catching NotSerializableException, which we already
use for unknown serializer ids and class manifests
* note that it is not catching for system messages, since that could result
in infinite resending
* also support for serialization of exceptions, see
comment in reference.conf
* extract Throwable and Payload methods to helper classes
* add security checks before creating instance from class name
This is to ensure Akka Cluster Client will work with Java Serialization turned off.
However for the sake of backward compatibility, the protobuf serialization for `akka.actor.Identify`
and `akka.actor.ActorIdentity` is turned off.