Add RestartPolicy to Pod and PodTemplate

This is the first PR to add RestartPolicy to Pod. Next PRs will hook policy with kubelets. 
>... it breaks the convention of an object receiver...

Go language constructs *never* come in the form of object receivers. (m[foo] = bar is not an object receiver; it's a completely special language element.) Other examples are delete(map, key), make(), close(chan). append is special because it works on all array types. 

One additional argument is that converting it to a receiver hides the fact that you might be getting an entirely different set of memory with each append.