Re-sign inside send if we took to long to get to send event
Use skewable date function instead
Add tests for re-signing logic.
Re-sign requests if they took too long to be sent.

Fixes the root cause of #221. When maxSockets is set to a value lower than the
amount of parallel requests, some of those requests can be queued for
"a long time". Because signing happens before those requests are queued, their
15 minute signing window can timeout before they ever hit the 'send' event.

This change adds an extra check to the 'send' even to force a re-sign of
the request if more than 10 minutes passed since the sign event was triggered.
This should allow multiple requests to be queued for an indefinite period of
time.