introduce cluster store

TODO

- [x] Rename Peer to Machine
- [x] Parse the new space separated bootstrap-config format
- [x] Ensure that the NodeName.ID()'s don't have collisions
- [ ] Generate initial cluster ID from a similar hash of the bootstrap-config
- [ ] Write documentation on static bootstrap

@jonboulle on the shell we only have so many separators :( Originally I was going to make it space separated and comma separate the IPs but that seemed too confusing because it would force people to quote. So, I settled on having multiple name=ip pairs instead.