Token stores Client Object and not only client_id

The token sould store the client object and let the implementation
decide what is really kept in the storage.

This PR modifies the token implementation and associated tests.