IUserLogin API changes

- Add ProviderDisplayName
- AddLogin continues to take UserLoginInfo
- Remove/Find now only take loginProvider/providerKey
- Refactor unit tests to share a base class