ENH: Added methods enabling screenshot based testing

1. Added a new qSlicerCoreTestingUtility class that derives from
ctkQtTestingUtility and defines image comparison methods based on
vtkTesting.
2. Added functionality in ctkScreenshotDialog to control output
resolution of screenshot taken.
3. Added a new menu item under Edit menu in the Slicer app for saving a
test screenshot. This item invokes ctkScreenshotDialog with constrained
output resolution of 300x300.
ENH: Image compare to QWidget and transition to qSlicerCoreTestingUtility
Added slicer_add_qttest macro for automated testing

Added additional api to launcher options required for screenshot based
QtTesting. Addresses issue 2567.
BUG: Fixed minor issues with screenshot based testing

Added support for list of test scripts given to macro slicer_add_qttest
Slicer was closing prematurely as superclass method was called before
derived class method. (HandleCommandLineArguments)
Using qMRMLUtils method for converting from qImage to vtkImageData.
ENH: Enhanced the slicer testing architecture

Examples on use of the new testing macro and added new baseline images
for existing QtTesting tests.
Addresses issue 2567.
BUG: Transparency issues with vtkTesting and macro cleanup

Transparency is not supported by vtkImageDifference and hence when
vtkTesting does image comparison based on screenshots taken using
ctkScreenshotDialog, there can be errors in the regression test.
Cleaned up macros and renamed test-script option to xml-test-script.
Addresses issue 2567
ENH: Ability to fetch baseline images from Midas

Updated the slicer_add_qttest macro to use ExternalData.cmake to fetch
baseline images from Midas given an md5 checksum. The macro uses the
DATA{} syntax from ExternalData.cmake to refer to the content-link. The
DATA{} syntax expects a BaselineImage.png.md5 at the BASELINE_DIR
location to fetch the correct BaselineImage.png from Midas.
Addresses issue 2567
Changes according to CTK changes
ENH: Added one test target per module

Changed the ExternalData implementation to add one target for all tests of one
module.
Updated CTK to latest HEAD.
Added documentation for new test macro (slicer_add_qttest)