Fix bug in handling command-line arguments

Found by Ilon Joseph and Bill Meyer: argc and argv were being copied
by BoutComm, PetscLib and Solver. MPI_Init can modify arguments,
leaving argc inconsistent with argv.

BoutComm, PetscLib and Solver all changed to store pointers to argc, argv
rather than copies.