Cleanup proxy properties to minimize modified events.

Change-Id: I722ef59778a743e02313218bcd1e4d4ba2d30630
Refactoring proxy creation/initialization logic.

In order to increase code reuse between Qt and Python based ParaView
applications, this commit starts the effort to add  a controller logic
at the ServerManager layer. New classes, vtkSMParaViewPipelineController
and vtkSMTransferFunctionManager, are part of this new infrastructure
that handles creation and initialization of various types of ParaView
proxies. The code is proxy type depedent, thus using different
initialization code based on whether the proxy is a representation,
filter, transfer function etc. as needed.

As a consequence all the initialization logic from pqProxy subclasses
becomes obsolete and no longer necessary, hence we remove that (and some
clases that are no longer useful).

This commit also moves transfer function management to ServerManager (as
vtkSMTransferFunctionManager). pqPQLookupTableManager and
pqLookupTableManager classes are removed since they are no longer
relevant. vtkSMTransferFunctionManager no longer depends on number of
components in the array. That caused an unnecessary need to update data to
determine how many components are going to be there. It's also easier for users
to realize that all arrays with same name get the same lut.

Change-Id: I5de5c4b0107a4a417d13fa4f470c51cd394b2cee
Refactoring vtkSMArrayListDomain/vtkSMInputArrayDomain.

Cleaned up vtkSMArrayListDomain and vtkSMInputArrayDomain.

vtkSMInputArrayDomain no longer depends on a required property to decide the
field association. That was relevant in ParaView 2.0 days when we used separate
UI widgets to pick array association and array name. This simplifies
vtkSMInputArrayDomain considerably. Fixed vtkSMInputArrayDomain::AttributeTypes
to match vtkDataObject::AttributeTypes. The mismatch was unnecessary and
confusing.

Cleaned vtkSMArrayListDomain to simplify interaction with vtkSMInputArrayDomain.
Now vtkSMArrayListDomain can work without any vtkSMInputArrayDomain specified on
the required Input property. Default setup logic in vtkSMArrayListDomain wasn't
respecting the attribute_type correctly (due to misinterpretation of overloaded
term 'attribute'). Fixed that.

vtkSMStringListDomain no longer has public API to change the domain. We will
update other domains to follow the same pattern.

Change-Id: I6d44a29cb1763b84f2b9d80c03c72da314f2d616
Use SetInputArrayToProcess API for picking scalar coloring.

Fixing representations to use SetInputArrayToProcess API instead of
SetColorArrayName/SetColorAttribute. This makes representations behave similar
to other vtkAlogorithm subclasses. Not only does this simplify the
implementation but also the use of the ColorArrayName property in Python and C++
clients.
Added ability to initialize repr LUTs.

Now we support setting up LUTs for representation proxies during intialization.
Added a new vtkSMParaViewPipelineControllerWithRendering which uses
factory overrides to override vtkSMParaViewPipelineController to add
initialization logic for rendering proxies.

Removed obsolete classes pqTextRepresentation, pqScalarOpacityFunction,
and also cleaned up pqScalarBarRepresentation.

Change-Id: I2b10d54cfaf8de28f2df86fed6095b3a58eebb33
Added vtkSMRepresentedArrayListDomain.

Added new vtkSMRepresentedArrayListDomain to handle domain that respects
represented data information for representations.

Change-Id: I4fafb803656369267354799d97dbadb23c2912b8
Cleanup animation play mode initialization.

Change-Id: I2b55e01e147b228cb74ff807550fa9759101a458
Making pqPropertyLinksConnection subclassable.

Making pqPropertyLinksConnection subclassable so that developers can
have more fine-grained control over how values are shipped between
ServerManager and Qt layers.

Change-Id: I294f7cee2bbf62f0417172790e13c1c4702bdd2c
Working on cleaning pqDisplayColorWidget.

Making pqDisplayColorWidget use the domains instead of
pqPipelineRepresentation. Moving pqDisplayArrayWidget back to
PointSprite plugin. It was moved into ParaView for no particular reason.

Also fixed issue with ColorArrayName's domain not updated property when
inital representation is Outline.
When creating a Wavelet source, for example, the domain would not update
to include cellNormals array even after we switch representation type to
"Surface" from "Outline". This was because the SurfaceRepresentation
proxy's data information was never invalidated when representation type
was changed. It makes sense to invalidate subproxies when properties on
the parent-proxy are modified. This fixes the cellNormals issue too.

Change-Id: I95aae3907dbae24a011fbc9f7a15d427da514245
Overcome volume mapper segfaults with missing arrays.

Volume mappers are notorious for segfaulting when arrays are missing.
Overcomes that problem by checking for valid arrays in vtkPVLODVolume
itself before each rendering call.

Change-Id: Ib1442fdc59cad71bc777fd8d1102b9d163d07ff1
Fix dangling pointer.

Change-Id: I807913a34812e8cb65c9c4b736236e3b35d6381e
Fix issue with scalar bar now showing up properly.

Also fixed the code to determine scalar bar title. Still need to fix
the component determination. Seems like we need to add an API somewhere
to make that easier.

Change-Id: I01a1d38ea329e36e73822e721bb1953bbe5129b3
Added ability to add logic when new representations are added.

Also fixed default values for LUT. Making it the ParaView default
blue-red, diverging LUT.

Change-Id: I37563982ebc82299c03b84aa64401c33d1f4d7ce
Fix implicit function proxy domains.

Certain proxy-list proxies have domains which work when their properties
are propertly linked with the parent proxy. This was done by
pqPipelineSource by processing hints. Fixed that by moving that logic to
vtkSMParaViewPipelineController.

Change-Id: Iebc2e3e0bb5a53d23e86dae36febedb428229dd2
Hide center axes.

Change-Id: Ia41fef05063ebf1583b4aa1d7a714921ff55b4a1
Fix scalar bar visibility management.

It now works as expected. Also fixes BUG #0014576.

Change-Id: Idb0e6a2e0755246f69356315667086efdbf55cc6
Remove pqHelperProxyStateLoader/pqHelperProxyRegisterUndoElement.

Remove helper-proxy related code that's no longer relevant.

Change-Id: I2bab21ae0dbfa37688657af50e0adc4fc1cca38d
Fix scalar bar title when component number changes.

Added logic to properly set the scalar bar's component name title when
the pqDisplayColorWidget is updated to change the component number.

Change-Id: Ic324c4600fcee49426ec7e336bebbe3fde3fb1d1
Partially fix build issue with pqTransferFunctionEditor.

Change-Id: I9238a092c6f29f353915909c514934ec71d31668
Fix errors when creating Plot Over Line filter.

The errors were happening due to the proxy-list domain property not
being initialized properly.

Change-Id: I264dcf65c35a5f41134e0561cc7b6a74fc06b318