Avoid network on the main thread in all cases

A few situations were missing, so I used a different aproach. Instead of special handling of cases where we are on the main thread, the default send method now makes sure, not to perform network operations on the main thread. A new method is introduced, which can be used when we are not on the main thread.
All read operations are performed by the listening thread, so those cases were allready covered.

Additionally the send process and asynchronous handling are now documented (javadoc).
Fixed bug in the previous commit
Merge commit '0be978ecc10af0ec68f4fcdc2cc5c322cb522411' into actionbar