Adapts an AuthenticationManager to the reactive APIs. This is somewhat necessary because many of the ways that
credentials are stored (i.e. JDBC, LDAP, etc) do not have reactive implementations. What's more is it is generally
considered best practice to store passwords in a hash that is intentionally slow which would block ever request
from coming in unless it was put on another thread.