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
>shouldn't we retrieve the service from the servicesManager by its identifier?
I suppose that happens later down the road. It seems like we are creating a default service type with just the id and then later on that service is checked against the registry. I do agree with you, now that I review it again, that it does look odd. I suppose this only happens for satisfy tests? why are services being serialized anyway? 

I am wondering if we can do something with annotations but at the same time, I dont want other modules to be specifically tied to the kryo API. I am ok with the changes that you have presented, but long-term it would be great to find a solution that doesn't require any registration at all.