Display more information when a name collision occurs.

This helps with debugging potential model issues until we have a good
way of linting the models for such issues. Specifically, this adds
the category (e.g. identifier, attribute, action, collection, etc)
and the affected resource name.

Before:
```
ValueError: Identifier `user` would clobber existing resource attribute
```

After
```
ValueError: reference `user` would clobber existing VirtualMfaDevice resource attribute
```

cc @jamesls, @kyleknap