Prepare for external scheduler

1. Add more Pod statuses. Expectation that PodStatus will get changed by
   future scheduling actuator API, indicating acceptance/rejection of
   pod.
2. Store assigned host in etcd.
3. Change pod key to /registry/pods/<podid>. Container location remains
   the same (/registry/hosts/<machine>/kublet).
OK, so my thoughts:

We need authentication/authorization checks. But those are things we (should) check at an RPC level. So if you fail them, we reject your RPC. So we don't need a pod status saying it was authorized/authenticated.

The next thing we want to check is "do you have quota/does the cluster have space". In my mind, that's a check that a scheduler has to have anyway, so we don't want to do it synchronously in the apiserver. Therefore, we make a pod with status "New" and store it in our storage layer.

A scheduler sees that a wild pod suddenly appears. It does the quota/cluster space check, which is cheap. If the pod fails, the scheduler will mark it as infeasible. If the passes, the scheduler marks it as "Accepted" or "Admitted" or some such.

At this point, the apiserver can notice the change in etcd, and return a response to the user. We currently block until a pod is actually running on its assigned host, but I'm pretty sure that's a little extreme. We can consider having apiserver just delete pods marked infeasible instead of accepted from the system entirely.

The next step, from the pod's perspective, assuming it's accepted, is that the scheduler runs a scheduling pass and finds it a place to go. Then it's status changes to "Assigned" and it has a host to live on.

Then the kubelet runs it, and the podcache eventually sees that it's running and updates its status to "Running".

I'm not in love with any of the names for these states, or even this particular control flow. The only things that are important to me is that a) the scheduler runs asynchronously and in a separate process from apiserver, and b) the scheduler does the quota/fit test in addition to the final scheduling.