Rename parseBareAddress to parseBareJid and deprecate parseBareAddress
Add comment that we do prep first and then assert the conditions

Because the preped String could have a different size compared to the
un-preped one. That's why we prep first and then call assert…().
Prevent JID string hash collision attacks

when using the Cache.

Always compare char by char of the input JID string and the String
representation of the JID class. So that two JIDs Strings with the same
hash never use the same cached instance.