add difference array to output tree

Previously we modified the first input tree by adding the difference
array to it.  It makes more sense that we add this array to the
output tree instead.

Change-Id: I201dfa428ce882a22fbf5ce92896565a490667e6
Change color map generated by SetTreeColorArray()

SetTreeColorArray() now displays all edges with negative values
in shades of red, and all edges with positive values in shades
of blue.  Edges with a value of zero are now drawn in grey.

When SetTreeColorArray() is called, the edges in the tree are
now drawn slightly thicker.  This makes it easier to see the
colors.

Change-Id: Id0564e1e8d0389bcd395fdbbb3cba84ee720665c
reintroduce segfault fix for PrintSelf

I accidentally overwrote this change in a previous commit.

Change-Id: I00683705cd171094831e0c7c6deb858300b7ab02
address Gerrit review feedback

We don't need to use a std::set to generate the tree difference color
map.  This was initially used to count the number of distinct difference
values, but instead we now setup our vtkLookupTable by constructing a
range of values that are symmetrical about zero.

Change-Id: I1c0ba6a2baa157382113f45badaa8cb6aecb0917
Merge topic 'change_tree_difference_colors' into master

eacde2ae address Gerrit review feedback
5a1b31c6 reintroduce segfault fix for PrintSelf
9169efc9 Change color map generated by SetTreeColorArray()
2ea34d62 add difference array to output tree