Set CGET flag on query

Allows user to pick cget or cmove for a give server node
when retrieving the results of a query

Closes #139
Fixed memory leak in ctkPluginArchive.

The lifetime of ctkPluginArchive instances is usually bound to
the corresponding ctkPlugin instances. In case of updating a plug-in,
the old ctkPluginArchive instance must still be kept alive. So we handle
the liftime via QSharedPointer references.
Fixed memory leak due to a shared pointer cycle.
Fixed possible memory leak (missing virtual desctructors).
Fixed compiler (Clang) warnings.
Pass custom compiler to inner CTK and external project builds.

Setting custom compilers in the CTK superbuild configuration had no
effect on the inner CTK build or external projects. This commit adds
passing CMAKE_C_COMPILER and CMAKE_CXX_COMPILER to the configure step
of CTK and external projects. It further sets up a list of common
CMake cache arguments used for all external projects.
Import python's site module for local config

For example, on debian/ubuntu, the site module
defines that dist-packages from easy_install
are located in /usr/local/lib/pythonX.Y rather
than in /usr/lib/pythonX.Y where all the other
python files are installed.
QProxyStyle doesn't support nested QProxyStyles

A temporary solution is to not initialize the collapsible groupbox style
with the current style.
See Issue #24279
https://bugreports.qt-project.org/browse/QTBUG-24279
Fix sizehint of ctkMaterialPropertyWidget

Its minimumSizeHint was unnecessary wide. This was due to the use of a
QAbstractItemView. The minimumSizeHint of a QAbstractItemView is arbitrary
large and doesn't depends on its content.
If more presets need to be added, it might be useful to create a special
container that returns an appropriate minimumSizeHint.
Fixed buggy SQL statement and query code.
Expose utility functions in the factories

ctkAbstractFactory::instance() returns non null when the item has already
been instantiated.

ctkAbstractFileBasedFactory::isValidFile() returns true if the factory
can register/instantiate the file.

ctkAbstractPluginFactory::uninstantiate() deletes the QObject later for
safety reasons.
Merge branch 'factory-expose-utility-functions'

* factory-expose-utility-functions:
  Expose utility functions in the factories
Rename ctkVTKVolumePropertyWidget::thresholdVisibility

expose thresholdEnabledChanged signal.
Don't unload plugin when uninstantiating a module

there might be some objects in the application that need the methods of the
library (e.g. destructor of objects).
Merge branch 'factory-expose-utility-functions'

* factory-expose-utility-functions:
  Don't unload plugin when uninstantiating a module
ctkFDHandler - The polling thread now terminates graciously

Before that change the thread in charge of reading the content
of either stderr or stdout descriptor was terminated using:

  this->terminate()
  this->wait();

On some operating system, using this strategy was leaving the thread in
a inconsistent state. See http://na-mic.org/Mantis/view.php?id=1537

The approach implemented here is less brutal. Indeed, the "Enabled" boolean
variable is protected by a QMutex and allows both the main thread and
the polling thread to either set or get the Enabled variable in a
thread-safe way.
Merge branch 'fix-ctkFDHandler-thread-termination'

* fix-ctkFDHandler-thread-termination:
  ctkFDHandler - The polling thread now terminates graciously
Avoid assert when vtkControlPoints current point is changed

In setCurrentPoint(), calling updateCurrentPoint() before updating the point
lead to an assert in updateCurrentPoint().
Merge branch 'ctkVTKScalarsToColorsWidget-crash-on-current-point'

* ctkVTKScalarsToColorsWidget-crash-on-current-point:
  Avoid assert when vtkControlPoints current point is changed
Add ctk::copyDirRecursively

* Note that a class names ctkTemporaryDir could probably be created to
easily delete directories created within the test. The directory would
basically be recursively deleted when the object would go out of scope.