Fix AWS4 signer to be thread-safe

A single signer instance was being memoized by a DynamoDB::Connection, so if
multiple threads were calling #post on a single Connection instance, the
bodies on the DynamoDB::Request and AWS4::Signer could become discrepant.
This fixes that by creating a new signer instance for each DynamoDB::Request.