Add Date header in sign_request, rather than run_request

It's not possible to generate a valid signature for a request without
a Date header (or some reasonable substitute), so the responsibility
for adding this header should fall on the shoulders of the method that
handles the signing.