ENH: DuplicateNodes property to RCB partitioners

This commit adds the DuplicateNodes property to the structured
RCB partitioners, which controls where the nodes between
partition interfaces will be duplicated or not. By default the
nodes are duplicated, which yields partitions that are abbuting
at the interfaces sharing a face. If the DuplicateNodes property
is switched off, there will be a "gap" between partitions, which
is common with Finite Difference codes in particular.

Change-Id: If57529e60f608444dbd055d62d1b1d863e22b924
BUGFIX: Fix integer overflow in vtkStructuredData

Fixed issue wherein GetNumberOfNodes() and
GetNumberOfCells() would return erroneous
values for larger grids due to integer overflow.
Fixed that and added a regression test.

Change-Id: If693b4d02ed5e1eda4a75663659a54fd45f3b022
ENH: FieldData deserialization to a subextent

Change-Id: I52e04acecdc549410d6901116716bd50fba82875
ENH: Implicit structured data connectivity

This commit introduces the vtkStructuredImplicitConnectivity class, intended
as a lower-level helper that provides functionality for resolving
situations where "gaps" are present in a distributed structured dataset. Gaps
are resolved by communicating the data (growing the grid to the right) as
necessary to close the gap. This situation is common with finite difference
grids that are partitioned with respect to the nodes of the grid, or when some
other post-processing filter, e.g., sampling the grid to reduce the resolution
introduces a gap.The present implementation requires one grid per process and
can deal with 2-D datasets -- XY,XZ,YZ -- as well as 3-D datasets. A test for
all 2-D and 3-D cases is also added.

Change-Id: I5260ce4fb5ced45434a719c8aacc2153253917a7
Merge topic 'structured-implicit-connectivity' into master

e42bbf8f ENH: Implicit structured data connectivity
e4c0566b ENH: FieldData deserialization to a subextent
f41f521f BUGFIX: Fix integer overflow in vtkStructuredData
271954af ENH: DuplicateNodes property to RCB partitioners