Issue-758: Revise and update Kryo serialization mechanism

- update of the Kryo library to the latest version
- use an external library to get common serializers (for immutable collections)
- simplify the encoding process (no more multiple attempts)

Tested on a basic flow: login for a service, ST validation, logout
Yes, order matters. Registered classes are given values 0, 1, 2, 3... If a class is registered on the fly, it's full name is used instead of an integer. It's not as efficient as a number.
But keeping the order is usefull if we want to allow an upgrade from a previous version to this one.