Shale/idempotency ids in headers

R? @cosn 

cc @kyleconroy 
really not a fan of this being in the interface. It really seems leaky because I don't think clients should know about headers and such. OTOH maybe that's not valid FUD from my part, so could be convinced about this