Clean up code that creates PETSc viewers.

Incidentally, this fixes a couple of bugs/deficiencies:
- Write NetCDF instead of HDF5 when NetCDF is requested
- Allow reading of VTK
Extract common code from PETSc read and write routines into subroutines.
fixed centers and edges with ghost
Merge pull request #394 from ketch/petsc_viewer_cleanup

Clean up code that creates PETSc viewers.
Change _registers reference to copy q in SSPMS32 method.
Update expected results for tests with SSPMS32 method.
Use 2nd TVD reconstuction on 2D accoustics w/ variable coeff.
Merge pull request #401 from hadjimy/ssp_lmm_bug_fix

SSPMS32 bug fix
num_ghost fix
Add code for SSPMS43 and update computations for SSP LMM.
Update nosetests for SSPMS32.
Mostly adding comments.
Removing unnecessary variables.
Merge pull request #402 from sanromd/fix_ce_ghost

Fix calculation of ghost cell centers
Using deepcopy for stages of starting methods.
Merge pull request #403 from hadjimy/ssp_lmm_vss

Add code for SSPMS43 and update/correct computations for SSP LMM.
Enable use of pyclaw.io.x where x!=ascii.

Also, fix some problems in pyclaw.io.netcdf.
I still doubt that it's working correctly.
Fix loop bounds that didn't include enough ghost cells.
Merge pull request #407 from ketch/fix_tvd_recon_loop_bounds

Fix loop bounds that didn't include enough ghost cells.
Merge pull request #406 from ketch/enable_netcdf

Enable use of pyclaw.io.x where x!=ascii.