WIP: tighten identifier spec 

DO NOT MERGE YET

There are still a couple open questions.  As I read through it I wanted to wordsmith a bit, which lead to reordering some to read sort of top-down.  There were a couple things I thought were wrong (pod name should be a subdomain) and a few things I think we can make more concise.  I also added examples and clarifies corollaries.

@smarterclayton in particular


I feel like there is an argument to be made that if this is not specified, the client does not care what the name is, and so the apiserver can generate a reasonable name.  Otherwise the client implementation is "generate random value, try to create, if failed loop to beginning" which seems onerous.