getAddress() should return the full JID with resource

The Presence is updated with the latest resource value, but the
address remains the same, loaded when the roster is loaded, which
means we end up with no resource at all.  This ensures the getAddress()
always include the latest highest priority presence.

When the Contact instances are first loaded, it is from the Roster
directly, which has a blank resource.  If a presence value hasn't
been received from the server, then there will still be a blank resource.

closes #570 https://github.com/guardianproject/ChatSecureAndroid/pull/570
refs #520 https://github.com/guardianproject/ChatSecureAndroid/issues/520