Makes pep8 pluggable

This follows up on #294. It adds a proper way to extend pep8 through plugins.

Looks like I've had this lying around for a while.