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

```
func (c Cluster) Add(m Member) error {
c[m.ID] = &m
}
```
is more clear imo
http://play.golang.org/p/nnK13D5aif