Split GenericInitialize into GenericAgentDiscoverContext, GenericAgentLoadPolicy

Pull out agent_type casing in GenericAgentLoadPolicy