Fix issue when resigning sigv4 requests

More fallout from reusing the same request object to resign
a request.  Before setting a value for a header, we need to first
check if the key exists and delete it first, otherwise it's an
append, not a replace, which will cause signing errors.