new class: vtkNewickTreeWriter

This class allows us to output vtkTrees in Newick format.

This commit also contains a bug fix for vtkNewickTreeReader.
Before this commit, vtkNewickTreeReader created an extra node at
the root of the tree.  This resulted in the height of the tree and
the number of vertices in the tree both being off by one.

Change-Id: Icd04b2ea868719289be210b34a3f772335b85a27
Enhance WhatModulesVTK.py

The python script accepts either a file as the second
parameter or a directory.
If a directory is passed to the program it is
recursively searched for all files that contain includes.

The script has been enhanced to parse the module.cmake files
in order to calculate, in addition the set of all modules
referenced in the files, the following extra sets:

1) A minimal set of modules that need to be referenced.
2) A set of modules where all the dependencies are chased down.

Change-Id: Ie0251a76c85458ddb8a1ed034d3d89239abddcae
Signed-off-by: Andrew Maclean <andrew.amaclean@gmail.com>
only create an edge weight array when necessary

Change vtkNewickTreeReader so that it no longer creates an edge
weight array if the input file does not contain edge weight information.
This makes it easier for vtkNewickTreeWriter to detect whether or not
edge weights should be written to the output file.

This commit also contains corresponding changes to vtkDendrogramItem.
This class no longer assumes that the input tree has an edge weight
array.  As of this commit, vtkDendrogramItem also allows users to
specify the names of the vertex weight & vertex name arrays within
their input tree.  Previously, these array names were hardcoded to
"node weight" and "node name", respectively.

Change-Id: Icdfe6c641c2257686f647865b42f4f4160c6d179
BUG: Fix vtk_module_config for repeated calls

Fix use of _${ns}_${mod}_USED settings to block reporting a module more
than once in a single vtk_module_config call.  Do not leak the
_${ns}_${mod}_USED settings outside a single call to vtk_module_config
so that a future call to the macro with the same ${ns} will use a fresh
set of modules.

Reported-by: Andrew Maclean <andrew.amaclean@gmail.com>
Reported-by: Marcus D. Hanwell <marcus.hanwell@kitware.com>
Change-Id: Ib37717f5724ad94e20c14165886a0d023fcecd9c
Add missing IsPODPointer check, for overload resolution.

The vtkWrapPython_ArgCheckString() method was not adding the necessary
arg check characters for PODPointer-type parameters.  This can potentially
result in incorrect method overload resolution.

Change-Id: I15dd969fa4997afb23708395bcc21dc58298a3fb
Create a new viewport to support the vgl library.

Change-Id: Ideb59ecd93198e515deb9ac86a265cebf674216e
Merge topic 'module-api' into master

f915a546 BUG: Fix vtk_module_config for repeated calls
DOC: Added documentation to CMake API functions

Improve the documentation of the CMake API, making it clearer what
the expected behavior is, and how the macros/functions should be
used. Also made some very minor whitespace changes in one or two
places for consistency with the rest of the file.

Change-Id: I0293dee3bede73dc0fd91149ae3dd6f62ebd995f
Merge topic 'newick_tree_writer' into master

2202e55f only create an edge weight array when necessary
d651290c new class: vtkNewickTreeWriter
Fixed warnings about unused function and constants

Change-Id: I1a2efb208875aa8e93f56aa92d03f5f6a96a729f
WebGL render is now pushing its camera position.

Change-Id: I8b6bffe43713b2b859f05e83c77a13a619feb5fb
Merge topic 'vtkweb-webgl-push-camera-to-server' into master

b8d36474 WebGL render is now pushing its camera position.
Merge topic 'vtkweb-vgl-integration' into master

0d0d9022 Create a new viewport to support the vgl library.
Merge topic 'cmake-documentation' into master

9b076afe DOC: Added documentation to CMake API functions
Merge topic 'dashboard-warnngs' into master

a56e2435 Fixed warnings about unused function and constants
Let the file browser fetch the root directory by itself.

Change-Id: I4c7ea0c027b68b0579069e46b33424e3adb6e753
Merge topic 'vtkweb-filebrowser-autofill' into master

e72eb60d Let the file browser fetch the root directory by itself.
Merge topic 'python-pointer-cleanup' into master

9ffbf1dc Add missing IsPODPointer check, for overload resolution.
Merge topic 'Enhance_WhatModulesVTK.py' into master

d78f3ad7 Enhance WhatModulesVTK.py