add a test case that checks for pep8 compliance

 - among other things, this will make it easy to spot pep8 pollution in
   pull requests before merging
 - currently won't work because it depends on changes in matplotlib
   (see matplotlib/matplotlib#2486), have to wait and see how that turns
   out
Added pep8 as an optional dependency
Merge pull request #643 from megies/pep8_tests

add a test case that checks for pep8 compliance