Shale/idempotency ids in headers

R? @cosn 

cc @kyleconroy 
Yes, people will want to pick their own key, and all our other bindings like people pick them.