make correct StringToSign when PUT and expires header

"expires" is also http header key name.

This change has backward compatibility is based on the fact that expires http header is not used in GET.