Resolved by always normalizing JIDs to bare form, regardless of if they
are JID objects or strings.
Also simplified related code to prefer use of JID objects instead of
strings so they don't need to be parsed multiple times.
Implemented ANONYMOUS authentication on the ClientXMPP class.
To use it, you just need to provide a domain (e.g 'anon.example.com')
with an optional resource (e.g 'anon.example.com/resource') as the JID,
with no password. The JID class has been improved to accept
domains as fulljid.
You can test this with echo_client.py
python echo_client.py -j anon.louiz.org/ # anonymous with a resource
# defined by the server
python echo_client.py -j anon.louiz.org/resource # anonymous with given
# resource
The "normal" authentication method still works exactly like before.