# Type of request: This is a ...

[X] bug report

# Detailed description
`EntityAlreadyExistsException` is not thrown correctly when creating IAM objects that are already present. `AmazonIdentityManagementException` with a null message is thrown instead

## Expected behavior
Localstack should throw `EntityAlreadyExistsException` with a populated message (not null)

## Actual behavior
```
com.amazonaws.services.identitymanagement.model.AmazonIdentityManagementException: null (Service: AmazonIdentityManagement; Status Code: 409; Error Code: 409 Conflict; Request ID: null)
```

# Steps to reproduce
- create an IAM role
- try to re-create it, catch `EntityAlreadyExistsException` but `AmazonIdentityManagementException` with null message is thrown instead

## Command used to start LocalStack
docker-compose up with `0.10.9`

## Client code (AWS SDK code snippet, or sequence of "awslocal" commands)
```
try {
    localStackIAMClient.createRole(createRoleRequest);
    localStackIAMClient.createRole(createRoleRequest);
} catch (EntityAlreadyExistsException e) {
    // AmazonIdentityManagementException with null is thrown instead
}
```

import re
from requests.models import Request
from localstack.constants import TEST_AWS_ACCOUNT_ID, MOTO_ACCOUNT_ID
from localstack.utils.aws import aws_stack
from localstack.utils.common import to_str
from localstack.services.generic_proxy import ProxyListener
class ProxyListenerIAM(ProxyListener):
    def forward_request(self, method, path, data, headers):
        if method == 'POST' and path == '/':
            data = self._reset_account_id(data)
            return Request(data=data, headers=headers, method=method)
        return True
    def return_response(self, method, path, data, headers, response):