package.py: add support for cloning from Git
Git download: ML, SuperLU_DIST, MUMPS, ctetgen
Builder: Use sharedLinker for all shared library creation, Logging for shared library creation
Builder. Fix stupid mistake
Builder: Separate logs for different functions
Builder: Conforming to PETSc log filename standard
PetscOptionsGetViewer: last commit broke PetscOptionsGetViewer, fixed it
PetscViewer: added files for :append test
PetscViewer: added tests/ex4 to testexamples
PetscViewerFileSetMode: remove duplicate man page
TS examples: fix use of PetscFunctionList and add to nightlies
Merge branch 'barry/rm-xxxregisterdynamic' into next

* barry/rm-xxxregisterdynamic:
  TS examples: fix use of PetscFunctionList and add to nightlies
PetscFileModes: add string enumeration for PetscFileMode
PetscEListFind() and PetscEnumFind()

New functions for searching elists and enums
PetscOptionsGetEList: use PetscEListFind()
PetscOptionsGetViewer: simplify logic and use PetscEnumFind()

Replaces dubious use of PetscStrendswithwhich() to match enum values,
including invalid PetscViewerFormat when passed
"ascii::PetscViewerFormat" or "ascii::PETSC_VIEWER_".

This removes ability to use single-character "ascii:filename::a".
Instead, "append" must be spelled out as in "ascii:filename::append"
PetscOptionsGetViewer: new test: write to named ASCII output file with format

"ascii:filename:format" and "ascii:filename:format:append"
PetscOptionsGetViewer: fix error handling with PETSC_VIEWER_XX_()

These functions all call PetscError() with PETSC_ERR_PLIB and then
return NULL, thus we can propagate the error by CHKERRQ(PETSC_ERR_PLIB).
PetscOptionsGetViewer: support ":append" for arbitrary viewer type
Merge branch 'toby/viewer-ascii-append' into next

* toby/viewer-ascii-append:
  PetscViewer: added tests/ex4 to testexamples
  PetscViewer: added files for :append test
  PetscOptionsGetViewer: last commit broke PetscOptionsGetViewer, fixed it