Refacto server users

This PR provide two abstractions for server side users.

It brings `User` and `Users` classes allowing us to have a more comprehensible code to deal with users.