Add docstrings

Would you accept some patches to add docstrings to classes and methods?

While using the module in ipython I found I kept having to refer to the DO online documentation, or to read the python source to try to figure opt what arguments to use. I think it would be very helpful to have docstrings that described these so that they could be accessed directly from ipython etc.

As it stands this pull request is incomplete - if you are in favour of it I will add more commits to make the existing docstrings more accurate and informative and to add docstrings to other classes and methods