Add port conflict detection to the service validation logic.

Part of #974 
I'd like to check this in, as I think this is a net win, as it presents a better experience than the status quo. 

We can add things to the etcd registry too, but then we are offloading a bunch of the work into each registry provider.

This way we will have a decent chance of catching most problems no matter what, and if a registry provider wants to make it even better, that's great.