make cleanup async and faster :: fix user.getBanReason() to return an empty string instead of null when there's no ban/banreason.