Add provider to user

Add support for the user tag to know about providers.

We need a way for the newer clients to support parsing of older user tags, and yet still get the full username and provider information from it.

Older user tags need to have the same string representation, yet new user tags need the new representation.