Added support for bit arrays instead of strings to create an HTGSource

Also added two helpers methods to convert from strings to bitarrays
ConvertDescriptorStringToBitArray() & ConvertMaterialMaskStringToBitArray().

LevelZeroMaterialIndex lets the user provide the indices of the level zero
cells which are visible (has material) in order to provide a more compact
representation of tree with a very large number of cells at level 0 -
for now, indices must be provided in kji mode. If LevelZeroMaterialIndex
is provided, the level 0 descriptor should provide only the refinement
of the visible cells in the same order as the one of
the LevelZeroMaterialIndex array.

Change-Id: I396fe2cb29d43d8320700147b7c05e0a3ebe17e0
Add 2 new tests of HTG source creation from bit arrays.

Use the same baseline images than string versions.

Change-Id: I06e7d3116c76b9417f5e14bc4238ca16ff0ed710
HTG modification to support only defined (has mat) level 0 cells.

Change the HyperTreeGrid mechanisms to provide efficient storage of very
large level 0 grids with only few cells defined. Instead of creating a
full grid array, only defined cells (through MaterialMaskIndex array)
are stored and processed.
The source has been updated to take advantage of this new feature.

Some optimizations and code simplification are also provided.

Provide a new test TestHyperTreeGridTernary3DGeometryLargeMaterialBits
to test the large grids management.

Set 3: Fix tests, mainly fix CopyStructure.

Change-Id: Iaab0afd7d13e66d9ab105c554a4d873ab59f1d35
Optimize HTG for large & sparse level 0 grids.

- Replace the vtkCollection which has a find access in O(N) by a std::map.

- Add vtkHyperTreeIterator to avoid browsing every potential tree of
level 0 grid. Only available trees are now browsed.

- Add a TimeStamp to avoid unnecessary calls to the costly
UpdateHyperTreesLeafIdOffsets.

Those 3 changes really improve the computation time for building the HTG
but also for computing the dual and all the filters
(AxisCut, Geometry & ToUnstructuredGrid).

Also add points for each cell in the tree, not only for leaf, even if
only leaf points are used to construct the dual and thus referenced by
some cells.

Change-Id: Ie954fdc8860a55d0de9c23097b0662a2d2123550
Merge topic 'add_bitarray_inputs_for_htg_source' into master

34d55b7f Optimize HTG for large & sparse level 0 grids.
3218f2cc HTG modification to support only defined (has mat) level 0 cells.
c0b9e934 Add 2 new tests of HTG source creation from bit arrays.
7931d817 Added support for bit arrays instead of strings to create an HTGSource