2to3 apply import fixer

    The new import `absolute_import` is added the `from __future__ import`
    statement and The 2to3 `import` fixer is run to make the imports
    compatible. There are several things that need to be dealt with to make
    this work.
    
    1) Files meant to be run as scripts run in a different environment than
    files imported as part of a package, and so changes to those files need
    to be skipped. The affected script files are:
    
        * all setup.py files
        * numpy/core/code_generators/generate_umath.py
        * numpy/core/code_generators/generate_numpy_api.py
        * numpy/core/code_generators/generate_ufunc_api.py
    
    2) Some imported modules are not available as they are created during
    the build process and consequently 2to3 is unable to handle them
    correctly. Files that import those modules need a bit of extra work.
    The affected files are:
    
        * core/__init__.py,
        * core/numeric.py,
        * core/_internal.py,
        * core/arrayprint.py,
        * core/fromnumeric.py,
        * numpy/__init__.py,
        * lib/npyio.py,
        * lib/function_base.py,
        * fft/fftpack.py,
        * random/__init__.py
    
    Closes #3172