* identify: cache the snapshot
* identify: refactor sending of Identify pushes
* identify: fix concurrency when sending pushes
* identify: fix timestamp handling
* identify: remove unneeded pushSemaphore
* identify: improve logging
* identify: use a sequence number instead of a timestamp
* identify: start with an empty snapshot
* identify: wait until we've actually finished setting up