PCGAMG: set bjacobi->same_local_solves=TRUE to clean coarse grid viewing

When bjacobi->same_local_solves=FALSE, PCView_BJacobi views each
subdomain solver separately.  (That output is currently jumbled because
singleton viewers does not produce synchronized output, but O(P) data in
a -ksp_view is still not acceptable.)  GAMG configures all local solves
identically (though all but one process will have zero entries) but in
doing so, it trips bjacobi->same_local_solves=FALSE.  This commit is a
temporary fix until PCView_BJacobi is fixed to recognize this situation
in a more general setting.
PCBJacobi: call KSPSetFromOptions(subksp) when PCSetUp was called first

Prior to this patch, -mg_coarse_sub_pc_ options were never parsed when
using PCGAMG, which changes the coarse solver and calls
PCSetUp_BJacobi_Singleblock so that PCBJacobiGetSubKSP is available.
Mat PCFactor: include MatFactorShiftType in PCView_Factor output

Consolidates the detailed shift string and updates all output files,
including a couple that have not been run in a long time and have other
problems.
dgmres: fix real typed as int
dgmres: added option to view deflation vecs after solve.

Low effort way to view ill-preconditioned directions.

Only one filename can be passed, but with the :append option for viewer
creation, all of the vectors will written to the same file.
dgmres: doc for -ksp_dgmres_view_deflation_vecs
PCFactor: add PCFactorGetLevels

This feature is useful to increment the fill level.
Viewer ASCII: print tabs to petsc_history, not fd

Tabs are intended to provide indentation, but were being printed as
trailing whitespace when petsc_history was turned on.
scalapack: requires mpi.h to build
PCGAMG: Always rebuild coarse Mat the first time

The old conditional assumed that, if (!pc_gamg->repart), then the only coarse
matrix that needs to be rebuilt from scratch is on level 0.  If the user has
changed pc_gamg->min_eq_proc, matrices higher in the hierarchy may also need to
be rebuilt from scratch.
Sys: add PetscDataTypeFromString() and test code
doc: fix named argument in {Vec,Mat,DM}ViewFromOptions
AO: fix erroneous processing of -ao_view and factor into AOViewFromOptions

AOCreate was calling -ao_view before ao->ops->view could be set, causing
SEGV.  Move the dispatch to the convenience creation functions and
consolidate into AOViewFromOptions.

Reported-by: Shao-Ching Huang <huangsc@gmail.com>
bgq: fix deadlock on bgq due to inconsistant values returned by getpwuid(getuid())
on runs with 256nodes [or 4096 cores]. This fix removes the reliance
on PetscGetHomeDirectory() returning 'same' value across nodes.
[using the fact that PetscOptionsInsertFile() uses HOMEDIR from node-0 only]
Merge branch 'balay/fix-scalapack-mpiinc' into maint
Merge branch 'balay/fix-deadlock-on-bgq' into maint
SNESMonitorCancel: enable fortran interface
Merge branch 'jed/fix-gamg-coarse' into maint
Merge branch 'jed/fix-viewer-ascii-tab-whitespace' into maint
Merge branch 'jed/is-view-from-options' into maint