Feature particles

Hi everyone,
this pull request is to integrate the implementation of the stand-alone clases of the particles group.
There are currently four files:
    - abstractparticles.py: where the ABC is defined and some common parts of the clases.
    - particlesclasses.py: here is the implementation of the ParticleContainer, Particle and Bond classes.
    - pcexceptions.py: here I defined some custom exceptions to make the code clearer, I though it was a good   idea to keep them centralized in a file.
    - test_particlesclasses.py: unit tests of all the clases.

Thanks for reviewing it and any comments, suggestions and improves would be appreciatted.
I was thinking for not overriding the default python equality. Is there a usecase for equality check, what does it mean to the Symphony user? I have always found that is was very difficult to decide what `equal` means in the context of composite objects. In a number of cases, it was not possible to have a single answer on what makes two composite objects equal, even more so when some of the attributes are floating point numbers calculated by libraries with different accuracy (oh joy!).