Changed username caching

- Usernames are now only requested once, if there's already a pending
requested, that request will be awaited.

!ScheduledAgent needs compatibility changes