Handle unsigned headers correctly in SignedHeaders list
Handle unsigned headers correctly in SignedHeaders list

There are a few headers, like `content-length`, that aren't
signed. However, when a unsigned header isn't alphabetically the
first header, a `;` separator for the header is still included in
the list of signed headers.

For instance, with these headers being present:

• `cache-control`
• `content-length` (unsigned)
• `content-type`
• `host`
' `x-amz-date`

This list of signed headers is generated (note the `;;`):

authorization: …, SignedHeaders=cache-control;;content-type;host;x-amz-date, …

DualSpark/rusoto,SecurityInsanity/rusoto,mattico/rusoto,SecurityInsanity/rusoto,DualSpark/rusoto,DualSpark/rust-aws,rusoto/rusoto,mattico/rusoto,DualSpark/rusoto,DualSpark/rust-aws,rusoto/rusoto,DualSpark/rust-aws,rusoto/rusoto,mattico/rusoto