Docstring test

Since other people are now starting to contribute it might save some time if we have some automatic checks to make sure that docstrings are correctly formatted, so that we don't have to point these things out for each PR. This PR does exactly that. It uses the [pep257](https://github.com/GreenSteam/pep257) library, for which I implemented NumPy support: https://github.com/bartvm/pep257/compare/numpy

The following checks are now performed, in line with NumPy docstring standards and PEP257 standards (when they don't conflict):

* Docstrings must start with a one-line summary ending with a period, followed by a blank line
* Docstring must be indented at the same level as the code
* Docstrings must use `"""` (e.g. not `'''`), and must use `r"""` if the docstring contains backslashes, `u"""` if it contains UTF-8 characters
* No blank lines before or after the docstring
* There must be a blank line before the closing quotes
* Lines cannot exceed 75 characters
* The sections must be in the right order, and a section header cannot be followed by a blank line