Properly implement split UserMetaData fetching and conversion
Commit 85b53262 ("convertUserMetaData: extract queryAttributes
out
of it") introduced an quite arbitrary and pointless split into
convertUserMetaData, i.e. it moved part of the potentially blocking
attribute retrieval out of it, but left most of it inside the function.
Introduce a proper split between the potentially blocking UMD retrieval, and the non-blocking conversion.