ENH: Add qSlicerScriptedFileDialog

* Add qSlicerFileDialog::description
* Add input dialog to select reader when multiple readers accept the same mime data


How to create a FileDialog in python?

+class XYZFileDialog:
+  def __init__(self, parent):
+    self.parent = parent
+    parent.fileType = 'XYZ'
+    parent.description = 'XYZ'
+    parent.action = slicer.qSlicerFileDialog.Read
+  def isMimeDataAccepted(self):
+    accept = self.parent.mimeData().hasFormat("text/uri-list")
+    self.parent.acceptMimeData(accept)
+  def dropEvent(self):
+    self.parent.dropEvent().accept()
+  def execDialog(self):
+    print 'exec'

How to order the list (make the module reader by default):
Make the module depend on "Data" -> instantiated after "Data" module
   def __init__(self, parent):
+    parent.dependencies = ["Data"]

Issue #3081

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21951 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: #2761 Add CTCTDentalSurgery example

One click to get pre- and post- surgery scans, but the
logic API allows access to individual scans if desired.

http://na-mic.org/Bug/view.php?id=2761

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21952 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: fix duplicate metatype declaration (Issue #3081)

See also r21951

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21953 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Use internally consistent zlib

The zlib libraries are used by many differnt packages
includeing ITKv4, LibArchive, VTK, python, and teem.

This patchset builds a single version of zlib
that is mangled with a slicer namespace, and uses
that one library for all zlib operation throught the
"USE_SYSTEM_ZLIB" options.

The mangling for vtk_zlib is disabled for teem because
it is not needed when using the External_zlib build.
STYLE: Addressing coding style issues

Review of the proposed method found a few items
that needed to be made stylistically similar to the
reset of Slicer.