Sieve: Removed reference to VecCreate_Sieve
DMMesh: Removed all trace and salted the earth, Carthago delenda est!
DMMesh: Cleaned up some old references and removed some out-dated files
Sieve: remove reference to sieve-dev mailing list
DMMesh: remove from makefile and Fortran modules
DMMesh: remove declaration of SNES callback
added PetscPOpenSetMachine() and command line form
cmakegen: abstract Mistakes checker to be reusable via import
make: add GNU make and ninja build system

Currently only works for shared, single-library, and gcc-compatible
compilers.  The Fortran modules are a soup of circular dependencies,
which make warns loudly about.

  make -f gmakefile PETSC_ARCH=your-arch -j10

This requires GNU make version 3.81 or later.

For Ninja [1], the entire file is generated in the build directory, so run

  conf/gmakegen.py PETSC_ARCH=your-arch --output=ninja
  ninja -C $PETSC_ARCH

The Ninja build does not yet support C++.

[1] http://martine.github.io/ninja/
make: teach GNU make about with-single-library=0
make: add option RELINK=1 for use with-single-library=0

This option should be unnecessary as long as header dependencies imply
rebuilds correctly.
make: clear .SUFFIXES because we do not use implicit rules
make: teach gmakefile about F90 modules
make: add .DELETE_ON_ERROR to clean up more reliably
make: factor out extraction of source files from makevars
make: add dummy deps for makefiles that could be removed

This prevents errors upon file removal, such as when switching branches:

make: *** No rule to make target 'src/snes/impls/composite/makefile', needed by 'mpich/conf/files'.  Stop.
make: name variables as srcs-$(pkg).$(lang)
make: consolidate writing lists of sources
make: make LANGS reusable
make: python3 compatibility