Added particles sequence in state bpy api.
Store the particle ID alongside the particle iterator in the python
particle wrapper type, so it can be used to automatically create missing
particles later on.
Custom get/set methods for the "Particle" type. This supports particle
attributes directly as python properties in the particle wrapper type.
If a particle identifier has no corresponding data in the state yet it
will be automatically created when writing.
Fix for particle iterator validity check: also check for negative index,
this is used for indicating an invalid particle iterator.
Add particle sequence as a state attribute in the API.
New API function for replacing the current particle system's state. ATM
this creates a full copy of the given state, so the reference can be
used further. This may need some more thought.
bpy particle objects are still valid if the particle id does not yet
exist. This allows a create-on-write feature, where a particle is
automatically added to the state if the pid does not yet exist.