Use crypto/rand for Id generation

Too many implementations have had problems with poor random ids and DNS spoofing attacks.