Add support for file logging to ctkErrorLogModel
Add support for error log context
ENH: Re-introduce and expose number of logs to keep
Add ctkLayoutFactory and ctkLayoutViewFactory

ctkLayoutFactory gives the ability over ctkLayoutManager to control
externally the instantiation of view widgets by registering view factories.
Depending on the view XML element in the layout document, the best
registered view factory is being used to create and setup the corresponding
widget.
Merge branch 'add-ctklayoutviewfactory'

* add-ctklayoutviewfactory:
  Add ctkLayoutFactory and ctkLayoutViewFactory

Conflicts:
	Libs/Widgets/ctkSimpleLayoutManager.h
Fix configure error relayed to missing ctkQtTesting cmake module
Fix CMake 3.0 configure error when building CTK with testing enabled
Merge branch 'fix-misc-configure-errors'

* fix-misc-configure-errors:
  Fix CMake 3.0 configure error when building CTK with testing enabled
  Fix configure error relayed to missing ctkQtTesting cmake module
Merge branch 'error-log-model-to-file'

* error-log-model-to-file:
  ENH: Re-introduce and expose number of logs to keep
  Add support for error log context
  Add support for file logging to ctkErrorLogModel
Separate viewFromXML to createViewFromXML

viewFromXML was confusing, it was doing "caching of" and "creating" views.
The method is now split in two. Derived classes should simply overwrite
createViewFromXML()
Merge branch 'add-ctklayoutviewfactory'

* add-ctklayoutviewfactory:
  Separate viewFromXML to createViewFromXML
Merge branch 'add-ctklayoutviewfactory' into atlas-viewer-slicer-4.3

* add-ctklayoutviewfactory:
  Separate viewFromXML to createViewFromXML
  Add ctkLayoutFactory and ctkLayoutViewFactory
BUG: Prevent VTK render call in ctkVTKRenderView::setupRendering

This commit fixes error reported below by moving the initialization
of the orientation widget after disabling the rendering and setting up
the RenderEvent observer. This will prevent vtkRenderWindow::Render()
calls from happening when the context is not ready. See [1]

This was needed because setting the interactivity of the widget is only
possible if it is enabled and if it is enabled, it ends up calling Render()
on the interactor.

[1] http://www.vtk.org/Wiki/VTK/OpenGL_Errors#Apple_Mac_OSX

//------
invalid drawable

ERROR: In /path/to/Rendering/OpenGL/vtkOpenGLRenderer.cxx, line 1202
vtkOpenGLRenderer (0x7ff6f45225e0): failed after Clear 1 OpenGL errors detected
  0 : (1286) Invalid framebuffer operation
//------

Co-authored-by: Julien Finet <julien.finet@kitware.com>
Merge pull request #496 from jcfr/fix-invalid-drawable-macosx109-ctkVTKRenderView

BUG: Prevent VTK render call in ctkVTKRenderView::setupRendering
Fix unused-variable warning in ctkLayoutViewFactory::createViewFromXML

This commit fixes warning introduced by 02fa38b
Merge branch 'add-ctklayoutviewfactory'

* add-ctklayoutviewfactory:
  Fix unused-variable warning in ctkLayoutViewFactory::createViewFromXML
Added a Signal which is used to do something before the session is closed.

Added a Signal to notice that the session was just opened.
Merge pull request #497 from danielknorr/XnatSessionClosedOpenedSignal

Added a Signal which is used to do something before the session is opened or closed.
Add documentation for ctk*PopupWidget
Merge branch 'add-popup-documentation'

* add-popup-documentation:
  Add documentation for ctk*PopupWidget