pep8 naming for Issue #44

Hello,

here is a series of patches which bring checkers for naming conventions.
Its not fully complete, for example checks for class members are completely missing. Right now the following checks are there

* Class names
* Function names
* Method names
* Function argument names
* Local variable names

I added some tests which are working under python2.7 and python3.2.

To make the tests possible I had to enhance the 'run_tests' method, because some syntax features of python3 are not available under python2. For example forcing keyword arguments.
My change checks the first three lines of the file to test. If this file contains a comment with 'python3 only' but pep8.py running under python2 the complete file is omitted. I added the same for 'python2 only'.

Feedback is very welcome