smackable: fix disco#items
smackable: fix double-connecting race condition
smackable: only call getRoster() once
mainwindow: refactor prefs items to use YaximConfig
prefs: reconnect/resend presence on config change
main window: refactor add-to-roster dialog init
AutoCompleteJid: use ArrayList to allow growing in c'tor
AutoCompleteJid: attach TextWatcher after initial setText()
backend API: generalize presence request
StatusMode: new fake mode for incoming subscriptions
smackable: process subscription requests into roster
frontend: display roster requests as dialog