Support :cred key in credential map

The documentation describes the :cred key in the credential map as containing an AWSCredentialProvider to pass to the client, but the key is not used. It looks like the problem was not parsing the :cred key out (except maybe for some special clients). So this commit will parse the :cred key if it's an instance of an AWSCredentialProvider.