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

needs updating. I am a little confused by the code - is the following a valid specification? or should bootstrap-config be limited to one address per name? would simplify things a bit.
`server1=10.1.1.1:7001,server1=10.1.1.11:7001,server2=10.1.1.2:7001`