Refactoring of message, identifier and presence

As they are mainly data object, make them use properties.

Also implemented a smart deprecated decorator that calls the new version of the deprecated method with a warning.

It triggers a flood of internal warning, they'll be fixed on another PR.
Maybe instead of calling this `fr`, we should call it `from_`? It's a bit more clear at first glance. I'm okay with `fr` though.