Document code

Fix all pylint warnings
Add sphinx documentation testing