Fix PEP8 violations and some typos

The only remaining ones are the line-too-long ones, and those are pretty controversial so just let that slide.
Update the readme with more details
Include source encoding comment
Delete unnecessary example Spider

It only serves to distract from the example that one will want to see
Annotate types of the arguments and results
Externalize project dependencies

This makes it easier to use modern tools, as well as the magic of ``pip install -r requirements.txt``
Use the correct Spider superclass in the example
Guard against the spider not having a topic at all
Merge pull request #1 from mdaniel/code-cleanup

Add type documentation and fix the example spider