Cleanup for SignInManager

Add cancellation tokens/async suffixes
Add SignInOptions(Will enable CanSignIn in a seperate PR)
From what I understand currently this will never be null if the user manager is instantiated using DI, i.e. either the service is resolved and passed of the constructor or we will get an exception from DI. If we want to make it optional, we have some options:

1. Have the constructor of UserManager take an IEnumerable<IUserNameNormalizer>
2. Create some sort of NullUserNameNormalizer that can be registered in DI instead of the standard one
3. Have a flag in Options that controls whether the default IUserNameNormalizer does something. 

I think I prefer option 1.