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
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
Merge topic 'module-api' into master

f915a546 BUG: Fix vtk_module_config for repeated calls
Merge topic 'newick_tree_writer' into master

2202e55f only create an edge weight array when necessary
d651290c new class: vtkNewickTreeWriter