Give api server operation tracking ability

Pending and recently completed operations now served at: /api/v1beta1/operations/id#

Handling of async operations is now consistent and sensible (ish). We check for admissibility before starting a long wait. I added some ID != "" checks here, but probably more things should be checked.
My concern is that if we timeout, there is now one reading on the channel, and so we'll block up this goroutine, essentially forever, and we'll leak threads.