Remove intermediate hash step for parameters

This should resolve issues caused by incorrect handling of duplicate query and post parameter names and is more performant because we don't need to round-trip the signable arguments through a hash.  We just build the argument_pairs and use those throughout the signature base generation process.