posthog-js supports person.set_once but our backend doesn't. Make sure we can pass through `$set_once` on an `$identify` call, and only set the properties within if the properties aren't already set on the user.
posthog/tasks/test/test_process_event.py
team2 = Organization.objects.bootstrap(None)[2]
            Person.objects.create(team=team2, distinct_ids=["2"], properties={"email": "team2@gmail.com"})
            Person.objects.create(team=self.team, distinct_ids=["1", "2"])
            try:
                process_event(
                    "2",
                    "",
                    "",
                    {
                        "event": "$identify",
                        "properties": {"$anon_distinct_id": "1", "token": self.team.api_token, "distinct_id": "2",},
                    },
                    self.team.pk,
                    now().isoformat(),
                    now().isoformat(),
                )
            except:
                pass
            people = Person.objects.all()
            self.assertEqual(people.count(), 2)
            self.assertEqual(people[1].team, self.team)
            self.assertEqual(people[1].properties, {})
            self.assertEqual(people[1].distinct_ids, ["1", "2"])
            self.assertEqual(people[0].team, team2)
            self.assertEqual(people[0].distinct_ids, ["2"])
        def test_set_is_identified(self) -> None: