The addition of Python 2 means that we need to ignore the compiled files that Python 2 creates which are not in the __pycache__ directory. This is added to the .gitignore file to make things consistent. To make the rest of the file clearer, the sections have been annotated to show why they're being ignored. A timeout-* rule has also been added, as this can happen when there are hangs triggered by the fuzzer. The .idea exclusion has been removed as it's not generated by nor anything to do with the product. Users who have use editors or tools which create files should use the global configuration of their local system, rather than include them in the project-specific .gitignore files.