Fortran: Improve pointer size detection in gfortran on MinGW

In commit ecd84147 (Fortran: Detect pointer size in gfortran on MinGW,
2011-11-29) we started testing for __SIZEOF_POINTER__ but not all GNU
Fortran compilers define this.  Check also for __SIZEOF_SIZE_T__ which
at least one version of gfortran defines without also defining
__SIZEOF_POINTER__.
FindQt4: Restore ability to handle a changed QT_QMAKE_EXECUTABLE properly.

This fixes a regression in commit 21123416 where it was trying to better handle
a qmake from Qt5.
cmTarget: Report origin of COMPATIBLE_INTERFACE properties.
cmTarget: Require a compatible INTERFACE_AUTOUIC_OPTIONS from dependencies.

Revert the origin-tracking infrastructure from commit 98093c45 (QtAutoUic:
Add INTERFACE_AUTOUIC_OPTIONS target property., 2013-11-20). Use the
compatibility-tracking for compatible strings instead.

If two different dependencies require different AUTOUIC_OPTIONS,
cmake will now appropriately issue an error.
Windows: Use wide-character system APIs

Make CMake compile with -DUNICODE.  Make it possible for the 8 bit
encoding to eventually be UTF-8 instead ANSI.
Merge topic 'mingw-gfortran-sizeof-dptr'

5da1580 Fortran: Improve pointer size detection in gfortran on MinGW
Merge topic 'qt4-qmake-exe'

05c518b FindQt4: Restore ability to handle a changed QT_QMAKE_EXECUTABLE properly.
Merge topic 'unicode-win32-apis'

0b9906c Windows: Use wide-character system APIs
Merge topic 'INTERFACE_AUTOUIC_OPTIONS'

77f3772 cmTarget: Require a compatible INTERFACE_AUTOUIC_OPTIONS from dependencies.
2e60b5f cmTarget: Report origin of COMPATIBLE_INTERFACE properties.