Merge remote-tracking branch 'origin/knepley/fix-dm-vec-blocksize' into knepley/feature-plex-hdf5-parallel-load

* origin/knepley/fix-dm-vec-blocksize:
  DMPlex: Fix variable init
  DMPlex: Fix coordinate blocksize in uniform refinement
  Vec: Fix blocksize determination with VecGetSubVector()
  DM: Handle empty vectors correctly for blocksize determination
Merge remote-tracking branch 'origin/knepley/fix-plex-hdf5' into knepley/feature-plex-hdf5-parallel-load

* origin/knepley/fix-plex-hdf5:
  Viewer+HDF5: Avoid HDF5 errors when checking for attributes - How in the HELL can a major software package print DIRECTLY to the screen even when I am catching the error. You Suck HDF5!
Viewer+HDF5: Added PetscViewerHDF5ReadSizes()
- This allows me to check the size of a Vec or IS to be loaded
IS+HDF5: Corrected code for new block size interface where it is never negative
DMPlex: Force a serial load in DMLoad_HDF5(), after which we call DMPlexDistribute()
- Eventually we would load into a naive partition
Initial implementation of copy for mat nests.
HDF5: Added petsc_gen_xdmf.py which processes PETSc HDF5 output and produces an Xdmf file
DMPlex: Added DMPlexInvertCell_Internal()
- Stupid type matching
IS: Added ISSortRemoveDups()
DMPlex: Added DMPlexCreatePointNumbering()
- Made DMPlexCreateNumbering_Private() more flexible
DMPlex: Now parallel HDF5 label output does not fail
- However, it is also now clear that we will have to write the full interpolation connectivity in order for these to be meaningful
Increase state in MatHeaderReplace

This fixes the problem that MatAXPY does not modify the Mat state,
only for different nonzero pattern. The MatAXPY problem needs to be
fixed also for same and subset nonzero pattern.
IS: Stupid mistake. Damn you compiler
Viewer+Options: Added Fortran interface for PetscObjectViewFromOptions()
HDF5: Made petsc_gen_xdmf.py executable
Plex+HDF5: Moved all HDF5 to a separate file, and mapped 2D periodic mesh to the cylinder
- Now visualization specific things are in /viz
Sys: Replace Malloc1() in multiple mallocs
PetscSection: Better check when creating global section
Sys: Replace Malloc1() in multiple mallocs (fix size)
Merge branch 'master' into knepley/feature-plex-hdf5-parallel-load

* master: (125 commits)
  since PETSc cannot view factored matrices, generate an error rather than display the wrong stuff (this was really bad)
  outdated example that doesn't match coding style removed and buggy
  petscversion.h: workaround ifort -cpp lack of referential transparency
  configure: ignore AR, MAKEFLAGS [if set in env]
  incorrect first entry in array being zeroed in example
  sizeof.c: remove dependence on petsc [and fix syntax error]
  nightlybuilds: use consistant PETSC_ARCH, machine names
  TS: Allow viewing of TS solutions
  DMPlex: Fix comparison for complex
  change MPIVersion streams to use MPI_Wtime() to be portable to Windows do not use scalar square root on real number; it upsets Microsoft
  cannot use I in PETSc code because in complex it sometimes represents imaginary number cannot pass PetscScalar * to VecNorm()
  in dashboard don't warn about SSL and BOI deprecated
  TS ex11: Fixed output formatting
  Doc+DMPlex: Added function documentation for some refinement functions
  streams: translate code from 'bash' to 'sh' [fix freebsd]
  barry is an idiot who doesn't have a clue as to what he is doing (and git's unfriendlyness doesn't help matters)
  don't list examples under C that don't work with complex!
  forgotten output file
  removed valgrind warning about sending uninitialized data
  nightly builds ignore unrecognized pragma and .c file as C++ code
  ...

Conflicts:
	include/petsc-private/dmpleximpl.h