Start passing MPI communicator for MPI calls.
Merge branch 'garth/cleanup-ufccell' into garth/use-mpi-communicator

Conflicts:
	dolfin/fem/DofMapBuilder.cpp
Merge branch 'master' into garth/use-mpi-communicator
Merge branch 'master' into garth/use-mpi-communicator

Conflicts:
	dolfin/io/HDF5File.cpp
	dolfin/io/HDF5File.h
	dolfin/io/HDF5Interface.cpp
Update C++ demo for MPI communicator changes.
Work on getting Python code and demos working with MPI communicator.
More work on getting Python test and demos working with MPI comm.
Fix bug in EpetraVector::gather_on_zero.
Get all tests running with MPI comm.
Get some more tests working with MPI comm.
Get final demo running with MPI comm.
Merge branch 'master' into garth/use-mpi-communicator

Conflicts:
	demo/undocumented/built-in/cpp/main.cpp
Merge branch 'master' into garth/use-mpi-communicator
Move MPI comm wrapper into SWIG layer.
Merge remote-tracking branch 'origin/master' into garth/use-mpi-communicator
Add some typedefs for dummy MPI communicators to get things working without MPI.
Add function to return MPI communicator from all la objects.
Use MPI comm in GenerucTensor/Vector/Matrix interface.
MPI comm fixes for la.
Update vector resize in Cholesky solver.