WIP [ci skip]
fixed all headers

because python is a piece of shit we have to use this extra compiler preprocessor script
to ensure that Python.h is always included first everywhere. This is a nasty hack
which every C / C++ application has to use if they want to use python. Shame on python
devs, seriously. If everyone was thinking like this, we couldn't use more than 1 lib.
I also made new NS I forgot to mention that :-)
I wanted to write long explanation for this commit

but before I commited I forgot what I actually did
merge
Merge branches 'python' and 'master'