Particle data model

This branch contains two major parts to easily create a particle. The first part is the particle model itself, this class stores the attributes that is required to create particles (including getters and setters) and the second part is the particle manager that like the name already says is that it manages the different particles. There are a couple of methods inside that will create different kind of particles according to the attributes that the user had given to the particle model. I've commented both header files but if something is unclear, let me know.