Remove maintaining presence on exit

Track all operations and exit when all are complete
One exit path regardless of failure vs signal
Merge pull request #4 from fraenkel/removepresence

Remove maintaining presence on exit