Use sleep records' timestamp for `at`

The default `at` is the time we performed the sync, which isn't helpful. Now we
use the date Zeo reports on each sleep record.
Fix record IDs

There's no native ID, so we generate one from the sleep record's bedtime. But,
we were generating it from `Object.keys(bedTime)`, which is arbitrarily ordered,
so for the same record, we could generate `6!` different IDs. Now we're
consistent.
Merge pull request #793 from Singly/zeo-fixes

Fix Zeo timestamps and IDs