Bug contact zombies + proper exit / stop services

This began as a clean up of presence events, and work to ensure we are always using bare user@domain names and not JID's to help combat the duplicate contact issue.

It then was expanded to include the fix for proper signout/stop of all services, which was related to:

a) proper timing of Imps password clearing
b) setting services to STICKY to explicitly control start and stop
c) not accidentally restarting services when we are trying to shut them down