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.
This is swallowing the exception. I would also suggest to rework the code as follows:

```python
try:
     particle = self._particles[particle_id]
except KeyError:
     raise KeyError('Particle with id { } not found!'.format(particle_id)) 
else:
    return copy.deepcopy(particle)
```