Add caching for DiversityApi registry, cover misbehaving version strings in normalize_requirement method