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