XMPPService: fix NPE in setStatusFromConfig
make MainWindow (roster) a singleTask

This changes the Activity stack of Android to only ever allow one
instance of MainWindow in the stack. This should help in situations
where you press "Quit" and the app or a chat window is still there.
clear last error already when (re)connecting
properly notify UI of delayed reconnects, thx Argafal
smackable: do not add error stanzas as chat messages
evil (or genius): ignore errors for XEP-0184 acked messages

WARNING! HORRIBLE SIDE-EFFECTS AHEAD!

This change prevents the message state to go ACKED -> FAILED. This is
due to the fact that XEP-0184 ACKs always beat error stanzas (once the
message was delivered, you can't undeliver it!).

This is needed because prosody does not request 0198 ACKs per message,
but instead does bulk requests from time to time. Therefore it is
possible that prosody thinks the messages were not delivered, even
though they were XEP-0184-acked already.
XEP-0198: delay callbacks until SM session is enabled/resumed/failed
show 'Disconnecting...' string, thx Tobias
smackable: report if a chat state change succeeded
improve & translate error-stanza notifications
HACK: fake roster change when going online/offline, to update status UI
translations import from launchpad.net 2014-01-28
UI: Replace 'Network changed' with 'No network connection'
error on open chat: show notification
service: post notification to UI thread for Toast to work
Downgrade libidn because Smart Google Enginieers FUCKED IT UP!

libidn 1.27+ is using a java.util.Arrays function that our beloved
Androiders forgot to implement:

https://code.google.com/p/android/issues/detail?id=10054

Because they added them with Gingerbread, the compiler won't warn you,
and the app crashes in evil ways on SDK<r9 devices. Thank you so much,
Google!

	Uncaught handler: thread main exiting due to uncaught exception
	java.lang.NoSuchMethodError: java.util.Arrays.binarySearch
		at gnu.inet.encoding.RangeSet.containsAnyCodePoint(RangeSet.java:338)
		at gnu.inet.encoding.Stringprep.nameprep$185c6b75(Stringprep.java:194)
		at gnu.inet.encoding.Stringprep.nameprep(Stringprep.java:146)
		at org.yaxim.androidclient.util.XMPPHelper.verifyJabberID(XMPPHelper.java:27)
translation import 2014-01-30
version 0.8.7