add a pulse for whatsapp accounts #359

This adds an interval that sends presence requests for every chat every 30 seconds to keep the connection to whatsapp alive.
I tested it on my Geeksphone Peak and I can say that I wasn't disconnected the entire day. I was most of the time on wifi and the battery usage didn't increased, but I'll do future tests on mobile data, just to make sure.
improvements

some improvements for the WhatsApp pulse:
	- don't request presence status for groups
	- keep requesting even when we have no connection, only stop if the account is disabled
request all states at once
clean up
Merge pull request #550 from TitanNano/wapp-connection-fix

add a pulse for whatsapp accounts #359
Whats App presence improvement

this improves the presence indication for Whats App:
- add available to the status when a new "PresenceAvailable" message arrives
- add timestamp to the status when a new "PresenceUnavailable" message arrives
- don't wait 300 seconds until we mark someone as unavailable, whats app tells us that right away
Merge pull request #576 from TitanNano/presence-improvement

Whats App presence improvement
WhatsApp pulse ratelimit hot fix

I had to discover that whatsapp quickly starts to block the status request overflow with an error message. The server only responses with the requested data again, when we stop our request for some itme.
Because of this, I dissabled the request of the statuses and the pulse will now just ask for the pictures. WhatsApp does not block these requests.
Merge pull request #577 from TitanNano/status-fix

WhatsApp pulse rate limit hot fix
notifications improvement

fixes #495 and replaces notifications with the native tag feature instead of closing and reopening notifications.
ignore OS X .SD_Store system files
implements #575

this is the implementation of #575
fix for my mistake

I'm sorry, I made a bad mistake and put the line which defines the contacts array also in the if block. Of course this breakes the images_ids reques since it receives a undefined array. >.< This fixes it, I tested it properly.
clean up
css fix
Display both the nick and tel-number in group chats if the contact is
not known. This also modifies how names in general are displayed: the
first 2 components are now shown in full and any further components
are abbreviated.
Add configuration for nick in WhatsApp, fixes issue #512.
WhatsApp: refresh list of group participants when we get a
notification of group participants being added/removed, issue #580
extend the settings not override them
Merge pull request #579 from TitanNano/dev

fix for my mistake