`Store.MaxChannels()` => `CanStore()`.

Simplify `NoStore`.
Add failing handshake test with channel IDs.

Remove redundant `TestHeloReset` test.
Extract handshake logic into `Worker.handshake()`.

Ensure `handshake()` resets unknown device IDs if channel IDs are
specified.
Merge pull request #119 from mozilla-services/bug/existing-handshake

Ensure `Store.Exists()` looks up the correct device ID