prevent infinite Controllers on Windows
prevent infinite Controllers on Windows

console scripts built by non-distribute setuptools don't have `if __name__ == 'main'`, which means the outer block gets called in every child, creating infinite controllers and children.

This adds a test inside the entry point, in case setuptools built a bad script.

ipython/ipython,ipython/ipython