First set of build system patches for Qt5 support.

These changes enable support for Qt5 in CTK libraries and CTK Qt plugins.
Set the CTK_USE_QT5 CMake variable to ON on specify the Qt5 installaltion
directory in QT5_INSTALL_PREFIX.
This commit enables Qt5 support for the CTK Core library, issue #277.

There is still a Qt5Widgets dependency, see issue #278. The tests
pass (on my Ubuntu 12.04 development machine) with both Qt4 and Qt5.
Add support for Qt5

Todo:
* Test with Qt4
* Make sure ctkMacroWrapPythonQt.cmake works correctly
Ensure edit line in ctkConsole is always visible

Even when the line is 2 line long.
Also, on Mac, typing Control (not Command) was resetting the cursor
to be at the end of the document.

Closes #295
Add open file dialog and print help message actions

Closes #315
Allow reload in case of external changes

Add ctkSettingsDialog::reloadSettings() method to allow reloading
settings in case of external changes. Rename / make public the
ctkSettingsPanel::updateProperties() method (to reloadSettings() also)
in order to implement this.

This provides a way to make the settings dialog / panels aware of
changes made to the relevant QSettings outside of the dialog, which is
both an obvious bug in its own right, but more importantly prevents the
dialog from overwriting such external changes (see commontk/CTK#450).
Improve ctkSettingsDialogTest1

Add tests for restoreDefaultSettings() method and new reloadSettings()
method.
Merge branch 'master' into qt5

Conflicts:
	CMake/ctkMacroGenerateMocs.cmake
	CMake/ctkMacroSetupQt.cmake
	Libs/Core/Testing/Cpp/CMakeLists.txt
	SuperBuild.cmake
Merge remote-tracking branch 'j2/add-qt5-support' into qt5

Conflicts:
	CMake/CTKConfig.cmake.in
	CMake/ctkMacroBuildLib.cmake
	CMake/ctkMacroBuildPlugin.cmake
	CMake/ctkMacroBuildQtPlugin.cmake
	CMake/ctkMacroGenerateMocs.cmake
	CMake/ctkMacroSetupQt.cmake
	CMake/ctkMacroWrapPythonQt.cmake
	CMake/ctkScriptWrapPythonQt_Light.cmake
	CMakeExternals/PythonQt.cmake
	CMakeExternals/VTK.cmake
	Libs/Core/Testing/Cpp/CMakeLists.txt
	Libs/Core/Testing/Cpp/ctkAbstractLibraryFactoryTest1.cpp
	Libs/Core/ctkAbstractLibraryFactory.h
	Libs/Core/ctkAbstractLibraryFactory.tpp
	Libs/Core/ctkCheckableModelHelper.cpp
	Libs/Core/ctkErrorLogQtMessageHandler.cpp
	Libs/Core/ctkErrorLogQtMessageHandler.h
	Libs/Testing/ctkTest.h
	Libs/Widgets/Testing/Cpp/CMakeLists.txt
	Libs/Widgets/ctkCoordinatesWidget.h
	Libs/Widgets/ctkMaterialPropertyPreviewLabel.cpp
	Libs/Widgets/ctkPopupWidget.cpp
	SuperBuild.cmake
Use Qt5 CMake 2.8.12 features.

Also move Widget dependent classes from Core to Widgets. Closes #278.
Fix compilation of tests against VTK6

This commit allows CTK to be compiler against VTK6 with testing enabled.
That said, there are some tests failing to pass. Issues #467, #468, #469
and #471 track the failure most likely related to VTK6.
Qt5 compatibility for almost all libraries.

Not working yet:

 - XNAT libraries
 - VTK dependent libraries
 - Python Wrapping
Do not assume a specific Qt5 install structure.
Make more libs and apps compatible with Qt5.
Use Qt5 compatible qRestAPI version.
Fix Qt5 dependencies in case only CTK_BUILD_ALL is enabled.
Merge branch 'qt5'

* qt5:
  Fix Qt5 dependencies in case only CTK_BUILD_ALL is enabled.
  Use Qt5 compatible qRestAPI version.
  Make more libs and apps compatible with Qt5.
  Do not assume a specific Qt5 install structure.
  Qt5 compatibility for almost all libraries.
  Use Qt5 CMake 2.8.12 features.
  Add support for Qt5
  This commit enables Qt5 support for the CTK Core library, issue #277.
  First set of build system patches for Qt5 support.
Merge pull request #472 from jcfr/fix-test-compile-against-vtk6

Fix compilation of tests against VTK6
Fix qDebug operator to handle case when VTKObject is null

In case the debug statement is used in the destructor, this commit
will prevent the application from crashing.
Improve documentation of setStrictTypeCheck() method