Python 3 support.

The current method of compiling, i.e., by calling f2py directly, only works if the current Python interpreter is in the #! line of the f2py script. Better would be to call `[sys.executable, 'f2py', ...]`, however we can avoid all of this by mimicking the `f2py` script directly.

Here we directly call the numpy.f2py.f2py2e.run_compile() entry point, after some small amount of setup to get sys.argv and the current working directory set appropriately.

In addition this pull request adds some features relating to properly capturing the compilation output and displaying it upon error. This makes debugging in the IPython notebook much much easier.

I haven't had too much time to play around with this code, so consider it mainly untested.  If you want to take the ideas and change the implementation that's totally fine by me.

Cheers!