Fix test_code_format to use flake8 and correct directory.
Fix various code style issues.

 - Now passes flake8
 - Maximum text width 79
 - Maximum text width 72 for multiline-comments and -docstrings and text files.
 - First line of docstring should use imperative and end with '.'
 - Added some docstrings, fixed some typos.
Explicit exports for the xylem.sources package.
Add documentation about used coding style.
Added some API documentation.

 - Use apidoc to generate full API doc (for now e.g. to check syntax in
   docstrings).
 - Once more of the API is fleshed out the documentation should be properly laid
   out and structured.