Cleanings and changes in docstrings
Change some classes to abstract classes.

These classes were already abstract in the sense that they have some
methods that must be defined in subclasses with implementations that
just raises a NotImplementedError exception. Now we use the 'abc' module
to explicitelly set these classes as abstract.