Be consistent
Add tests
Simplify the data marshaling by using the more 'common' multimap func
Add GetSessionToken method and tests
Add GetFederationToken method and tests