add docstrings; update some tests; clean up setup.py and use flake8
update compiled documentation