1) we should use at least std::vector to pass raw data serial vector (until we have proper class for both serial and parallel vectors)
2) scatter is now moved into LinSys and also make reordering, this has to be clarified. LinSys should not provide this since there could be more different scatters( e.g. to serial for output or to possible different mesh partitioning of different equation)
... we should just sum local portions of BDDC solution to get same thing as provided by PETSC.