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
Can't there be more than one service with a selector matching the labels on a given pod? That is, can't a pod be part of more than one service? (I don't know the answer for sure, but I thought it was possible.) Throughout this PR you seem to be assuming one service per pod.