vtkAMRUtilities: split out vtkParallelAMRUtilities

This is split so that vtkIOXML loses its dependency on vtkFiltersAMR
which drags in vtkParallelCore. The parallel-related code can instead be
split out and the core utilities be moved into Common/DataModel.

Change-Id: I621cc40f2afb1831d25e0701a0075ad88dc3e149
hierarchy: use a .txt extension

This is required because OBJECT libraries do not support non-source and
non-header files to be listed in their add_library call without it
ending in .txt. Anything else triggers an error. As a workaround, use
.txt as the stamp extension.

Change-Id: If881aa5099647935da2462e997c0adc400fa7c60
GenerateExportHeader: support object libraries as well

Object libraries may also export symbols.

Change-Id: I8848586f90a887bbb4eaf8d2e5850c77dc5e7c82
vtk_module: support a KIT argument

This is intended to support grouping modules into "kit" libraries to
reduce the number of shipped libraries.

Change-Id: I0df5b12fe34c3cfa8b4b141355aa1e14a866e5e4
modules: add modules to "kits"

The main kits are:

    vtkCommon
    vtkFilters
    vtkIO
    vtkImaging
    vtkInteraction
    vtkOpenGL (required due to a dependency cycle from
               vtkRenderingOpenGL on vtkImagingHybrid)
    vtkParallel
    vtkRendering
    vtkViews
    vtkWrapping

Modules which deal with a specialization of another module belong to the
kit related to the specialization (i.e., FiltersParallel and
IOParallelXML both belong to the vtkParallel kit) to avoid circular
dependencies that arise when put into the same kit as the "lesser"
module.

Change-Id: Icae0baa78d62cc0dcce84546541df600d4f311dd
linking: wrap tll() with a module-aware function

This will allow kits to gather all of the required libraries to link
since the modules themselves won't "exist" to link anything when kits
are enabled.

Change-Id: Ic73220c7b97e17a5fbc0aa6c0f7a5e5a61dc6bef
export: OBJECT libraries may not be exported

Change-Id: I5a32714a2fb260e62529f72de4b44d7b8f22970e
modules: output kit information in the module tree

Change-Id: I0b5489dcf4f8cc5197b72d53f1fbd569a1f2460e
modules: topo-sort modules with kits as well

When kits are enabled, we need to group modules together into kits and
then topo-sort.

Change-Id: I013f432558b78a1946100b9f0ca739b73c94841e
modules: build kits from the member modules

When kits are enabled, iterate over the enabled kits and build a library
from the objects of each module.

Change-Id: I0cb9739d5a3c516d989c156a44643a4f9e9bef08
module: depend on the dependent module object library

Change-Id: Id40b7c479ed91e5e740c81057f376b3b331c8dd6
module: fix export macros with kits

Apparently the previous attempt was insufficient for Windows.

Change-Id: I714394656b280323f3115e0d56eda162e4f98389
Merge topic 'kit-libraries' into master

094a09ab module: fix export macros with kits
b36716af module: depend on the dependent module object library
e0757e95 modules: build kits from the member modules
b192a25f modules: topo-sort modules with kits as well
5ba06396 modules: output kit information in the module tree
3c59cd22 export: OBJECT libraries may not be exported
3cd0686a linking: wrap tll() with a module-aware function
e5203447 modules: add modules to "kits"
4606d0ea vtk_module: support a KIT argument
383f2bec GenerateExportHeader: support object libraries as well
050395f9 hierarchy: use a .txt extension
e64416c6 vtkAMRUtilities: split out vtkParallelAMRUtilities