Add extended particles api.

This api extends the features of the particles api, which allows us to create colored particles, colored particles, particles with motion vectors and so on. This is possible by changing the amount of particles that are send in the packet to 0, this changes the behavior on the client.
If it uses default values then yes. But you should add it to the builder, that there are/have to be default values for each attribute. Otherwise custom particles may cause unexpected exceptions.