First step in making ProjectIPtoNodalField work in parallel.

Combined with changing from global to local indices in MultiVector versions of
NodeData_Traits::saveFieldData(), this current commit fixes all but one issue in
running the projection operation in parallel.

First, distinguish between operations using overlapping and nonoverlapping
maps. In
    stkMeshStruct->nodal_data_base->updateNodalGraph(nodalGraph),
nodalGraph should have overlapping row and col maps; domain and range maps don't
matter because the graph is not used for linear algebra.
  In ProjectIPtoNodalField, assembly of source_load_vector_ and the mass matrix
use overlapping maps (from nodalGraph). These maps correspond to the
distribution of data in the incoming worksets used for assembly.
  In ProjectIPtoNodalField::postEvaluate, we need to switch to a nonoverlapping
row map in order to use Ifpack2's preconditioners. (If we don't use a
preconditioner, we can just define 1-1 range and domain maps for the assembled
mass matrix. Then the matrix-vector product in Belos CG is correctly
computed. But Ifpack2 needs a nonoverlapping row map because it operates purely
on locally stored data, and such data are organized according to row/col maps
and not range/domain maps. Thanks to Mark H. for a discussion on this topic.)
Hence both the mass matrix and the source load vector are exported to a new
matrix and multi-vector having the same nonoverlapping (row) map. Next, the
equation is solved. Finally, the solution multi-vector x is exported to a new
multi-vector having the original overlapping map. This is then saved using
    this->p_state_mgr_->getStateInfoStruct()->getNodalDataBase()->
      getNodalDataVector()->saveNodalDataState(x);
  In the future, I might think about whether any of this can be done more
efficiently. In particular, is it necessary to have two different versions of
the mass matrix, one for assembly (with overlapping row/col maps) and one for
linear algebra (with nonoverlapping row map)?
  With these changes, (i) valgrind gives clean results for this part of the code
and (ii) the solution to the linear equation is correct (verified externally in
Matlab).

However, second, the data in workset that are assembled into source_load_vector_
are different (2-norm relative difference of ~1e-2) when run with -np 4 than
when run with -np 1. I shall investigate this difference next.