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.

This pull request is based upon #2.  Depending on whether or not that
is merged, we might need a rebase here.

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!