Add port conflict detection to the service validation logic.

Part of #974 


> On Sep 10, 2014, at 7:54 PM, brendandburns <notifications@github.com> wrote:
> 
> In pkg/api/validation/validation.go:
> 
> >  	}
> >  	if labels.Set(service.Selector).AsSelector().Empty() {
> >  		allErrs = append(allErrs, errs.NewFieldRequired("selector", service.Selector))
> >  	}
> > +	services, err := lister.ListServices()
> also @smarterclayton I don't know how to parse "... doing the check above validation." are you supportive of doing this validation here, or are you supportive of @lavalamp's perspective?
> 
Leaving validation as inherent validation, and doing the constraint check in the registry before or after his call.  The benefit there is that if someone had a registry with transactional secondary indexes they could do a uniqueness check on the index and wouldn't have to pass I a fake service lister to validation.

> —
> Reply to this email directly or view it on GitHub.