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
Great. Could we make that explicit somehow? or pull those bits out into a specific component that deals with tests only, just to remove chances of future confusion?