Tighten up PUT/POST semantics

PUT now atomic.

POST captures and reports partial failure.

Both take their input as a stream of values.
capture errors when saving Json from stream