Add a validator for validating components in the cluster infrastructure.

Closes #1295 
Not sure about this... it's making it harder to replicate apiserver. What do you think about pushing down into etcd: having the components check in with their addresses periodically, and storing that in etcd with a ttl?