Allow clients to determine the difference between create or update on PUT

PUT allows an object to be created (http 201).  This allows REST code to
indicate an object has been created and clients to react to it.

Plan on using this for some oauth / user level interactions in the future.
Started looking at this - whatever we put through the channel has to be a runtime.Object because that's what every bit of apiserver async logic is plumbed with (`<-chan runtime.Object`).  We'd have to duplicate all of the operation code and the make async operation, since we no longer take <-chan interface there.  So if we have to fake out a runtime.Object, we still have to do a cast somewhere.