first attempt at passing in headers

WIP not ready

I take it we're universally preferring camelcasing across all bindings? Seems mildly non-intuitive going from this to the header (vs. just passing the raw header).

I think we should throw an error if you provide a value here that we don't expect, as right now passing `IdempotencyKey` will silently do nothing.