This adds a new modifier that will allow copying e.g. particle data from the simulation data block to a point cloud. Currently, the modifier is called "Simulation Access", which I don't really like. Alternative names could be "Copy Simulation Data", "Pull Simulation Data", "Simulation", "Read Simulation Data", ...
We probably want to use the same modifier later on to copy simulation data into mesh/volume/curve/hair objects later on. So, the name should not be specific to particles (although it could be for now).
While it is totally undecided, I might want to add a similar modifier later, that copies data from a data block which contains geometry nodes.
This patch also does an initial integration with the depsgraph. It just makes sure that BKE_simulation_data_update is called before the modifier is evaluated. I added a depsgraph NodeType and OperationCode for this. However, I'm not sure if this is necessary.
Lastly, there is a new depsgraph API function called DEG_add_simulation_relation, which is used by the modifier.