ENH: multi-process stream enhancements

This commit adds two main features to the
vtkMultiProcessStream object. First, it changes
the behavior of the Pop "array" methods. Now,
if the input array is not null, the code would expect
that the array is properly allocated, i.e., its size
should match the size of the data read and it would
just fill in the given buffer. Second, this commit adds
a method to get the size of the raw buffer that is returned
from calls to "GetRawData". The 1st byte of the raw buffer
is designated for the endianness, i.e., RawSize()=Size()+1.

Change-Id: Ic09fa0ca061548740fc72f57b4227495d7276035
ENH: Support for VtkIdType & enhancements

This method adds support for serializing/deserializing arrays
of vtkIdType. Further, it modifies the implementation such that
the array is popped from the bytestream directly in to the
pointer of the vtkDataArray instance as opposed to a temporary
buffer.

Change-Id: If090808933a5e4563d232b2657995c643536342f
WIP: unstructured ghost zones

Change-Id: Idd9ce355f8070bbdf882cdb2350fdcbce2c4b845