solve_mm_mpi.cpp now uses partitioning obtained with partition.cpp

Also added python script for poisson problem generation.
Use the following script to test the scalability with poisson problem:

  export n=1024 # Mesh size
  export np=16  # Number of MPI processes
  python make_poisson.py -n $n -A A -b b
  ./partition -n $np A.mtx -o partition.mtx
  mpirun -np $np ./solve_mm_mpi -A A.mtx -b b.mtx --part partition.mtx -o x.mtx -i gmres
  python plot_result -x x.mtx -p partition.mtx

To test your own problem, omit make_poisson step and substitute your
files for A.mtx and b.mtx.