Huge PEP8 and pyflakes cleanup

Warning beforehand: I just spend 2.5 hours cleaning it up.

This isn't funny anymore.

PEP8 errors/warnings aren't syntax errors, but they hurt readability and maintainability.. Please read PEP8. Space behind a comma, correct number of lines between functions/methods/classes, whitespace around +/-*. Some of you are worse offenders than others and some are quite innocent. So look in the changes below and look if you recognize a pattern that you often use.

**It gets worse** with the pyflakes warnings. Double imports. Just import lines copy/pasted (seemingly without a care) from other files. I saw the same "We don't want ctypes here" comment in quite a few of the test files, for instance.

Variables that aren't used. variables that override imports. A testcase named `TestCase` even though that's the name of the imported base class.

So: **order the imports**. Sort them alphabetically, but split them in three groups (sys imports, other libraries, imports from ourselves). This already removes quite a number of the errors.

Something I also saw quite a lot in the tests:

    # TODO: get this to work
    # @skipTest
    def test_something(self):

So: The one that re-enabled the test by commenting out "skipTest" didn't take the small step to remove the "get this to work" line? Apparently the test works now, right?

Not all code is clean, also not all of my code. But..., if I am frank, the python-subgrid code gives me the **visual message** "we don't care about this code and we cannot be bothered" instead of "we are busy and we do our best".

So... with a bit more care and attention... I don't want to be disrespectful or irritating. I am however one of the ones that have to maintain the 3di code once it goes into production.

cc: @SiggyF @jackieleng @jsmits @jackha