Start of categorical color mapping.

Make `vtkPVArrayInformation` collect, transmit, and aggregate
the unique values taken on by each array when the number of
unique values is small (< 128 at the moment).

These will be used on the client to build an annotated color legend
and related color lookup table.

Change-Id: Ic7d598c9340dfdb45e4c44ea3198eb90e0afb140
Access "color-by" info from data representation.

The data representation provided to `pqColorScaleEditor` has
information on the currently-selected array and component to
color by, but no convenience methods existed. Add them.

Change-Id: I48a1188a97eea2468da399623e0543dc3bb19c55
Add `IndexedLookup` to `pqColorMapModel` proxy.

Change-Id: I4e0b7bd82c6cd28db9e181e9ff83d28e3644eaef
Add `IndexedLookup` access to `pqScalarsToColors`.

Change-Id: I249926a000a03bf98a53e2554089e21e2e79ca75
Fix detection of categories in arrays.

Change-Id: I98289f7889eb7b4675644fb7daf59b513d771582
Add annotations to server-manager LUT proxy.

Change-Id: I1ed3f334b8611b4ac98f327124912b0f8881c1eb
Use VTK scalar-bar actor for `IndexedLookup` mode.

Change-Id: Icd91c82307e108679d3e26b258a65766cce1d3b9
MathText adds a Matplotlib dependency.

Add `vtkRenderingMatplotlib` as a dependency to `vtkPVVTKExtensionsRendering`.

Change-Id: Ibfe160137eaf3ae78fbc517b633b5a00094a1730
Fix doc typo.

Change-Id: Ia54ec2b71fe31ed3b520e0d8b0e3dd09a049178b
Add annotations to the PV color editor dialog.

Change-Id: Icd12e2f09f915119fe2e046c5db36d9ab33021de
Initial annotation support.

Change-Id: I5eedc146d160a6e791cb13ecb7a56e18aaab7bb9
Switch annotations to use a `QTreeWidget`.

`QTableWidget` would not allow row-like behavior and
`QListWidget` would not allow multiple columns.
The "tree" is very simple: everything is on the top level.

This commit also includes a lot of debug output that
will need to be removed.

Change-Id: I2de25879a304ad96c302ea2bc80aa40b68994a72
Fix transfer of color control points to server.

The color transfer function control points being sent from the
client's color editor to the discretized color transfer function
proxy (and thus eventually to the server) were having their
colors quantized on the client before being issued to the proxy.
This caused problems when switching to/from indexed mode because
the `vtkLookupTable` holding the quantized color is very small
in indexed lookup mode.

So, don't quantize where we have no need to; use the control point
values directly.

Change-Id: I8904f0d5e12495f9c6765531bd5a15574fbb2978
Whitespace fixes.

Change-Id: I3c5e19783b58c09666cad02c7c4c96b4dc84e1ff
Fix drag-and-drop reordering of annotations.

When the annotation tree widget was being sorted by a column,
drag-and-drop reordering of entries had no effect.
Intercept drop events and reset column sorting just before the
drop occurrs.

Also, allow users to turn off column sorting by double-clicking
the tree widget header row.

Change-Id: I4e11a9f21cee05961ec4046f2f507bbd880bd75a
Bring fixes from VTK.

Change-Id: I14c2507893cf47857c0c61c2013578ed3f05280a
Fix import/export of categorical colormaps.

Change-Id: Ieb40822ed9538972f3419e7189aebeb3ad9bf7a0
Add categorical color maps from `vtkColorSeries`.

Change-Id: I1a73609ef4982bc5e615d88091bb1b6f0b494dac
Render previews of categorical color maps.

Previews are rendered properly but there are still some
problems loading and saving categorical color maps.

Change-Id: I5dda7a19d912703e387ffe1709a23dc14d0f155e
Eliminate the annotation color column...

... as the color can be indicated as part of the value column.

Change-Id: Id46f2671a9f4cd4c2cb5d83ebac467399e1bb15f