transport-xmpp: (Try to) Save JID and password onPause()
main: Do not init receiver in constrcutor
Include version if a command throws an exception

also add the "exception throw" command, mostly for testing purposes.

Add Text.addWithNewLines() to automatically transform '\n' to the
NewLine token.
Add missing parenthesis in Command class
transport-xmpp: Properly synchronize mStateChangeListeners

to prevent

java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:792)
at java.util.HashMap$KeyIterator.next(HashMap.java:819)
at org.projectmaxs.transport.xmpp.xmppservice.XMPPService.tryToConnect(XMPPService.java:556)
at org.projectmaxs.transport.xmpp.xmppservice.XMPPService.changeState(XMPPService.java:439)
at org.projectmaxs.transport.xmpp.xmppservice.XMPPService.connect(XMPPService.java:171)
at org.projectmaxs.transport.xmpp.TransportService.onHandleIntent(TransportService.java:93)
at org.projectmaxs.shared.transport.MAXSTransportService$ServiceHandler.handleMessage(MAXSTransportService.java:46)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.os.HandlerThread.run(HandlerThread.java:60)
Raise javac source and target to 1.7 (Java7)

try/catch-multiple ftw! :)
Add "Permission Check" feature and status GUI element

This moves the declaration of MAXS Permissions from the non-main
components to a single place: the main component.

Then we add a simple status GUI element, that informs the user about
problems with regard to permissions used by MAXS. A friendly smiley will
inform the user that everything is OK. A sad one hopefully motivates him
to fix the problems, which can be easily done by clicking on it, which
will trigger a Dialog to appear with click-able links to the Application
Settings activity of the offending application (which should be
removed and re-installed in most cases).