Adding a description to setup.py and pep8 cleanup

setup.py needs a `description` field to prevent project being listed as `UNKNOWN` in `pip` and `pypi` searches.