Enhancements to scheduler priority functions

 - Modified the existing spreading priority to consider service pods explicitly
 - Added a new priority function to spread pods across zones
Should ServiceAffinity ever be a predicate? It doesn't seem like something we should bloke scheduling to a node for.