Add Fortran wrappers for Pre/PostSolve in PC Shell.
Add Fortran wrapper for ApplyBA in PC Shell.
Add Fortran wrapper for View in PC Shell.
PCBDDC: special nodes should be selected as primal vertices even if they are shared by two subdomains only

they thus need to be communicated to relevant neighbours when performing graph setup
PCBDDC: reverted selection of primal vertices as before 1e1f2d9

PCBDDCGraphGetCandidateIS now returns index sets only if the user asks for them
PCBDDC: candidates should be always computed.

they are returned back only if the pointer is not null
PCBDDC: forgot to commit relevant changes to bddcprivate.c and bddcprivate.h
Add VecScatterIsSequential_Private method.
Introduce a VecScatter_Common header.

This is to allow more robust determination of the type of a
VecScatter_X_X.
Adding vtable to _p_VecScatter.

Also:
- put VecScatter methods into vtable.
- access VecScatter methods through vtable.
Add VecScatterGetTypes_Private method.
add accessor to total ksp its
separate total TAO ksp count from per-iter count
fix examples that use history
correct ksp counting complementarity and ipm solvers
correct ksp counting in gpcg
Merge branch 'sarich/tao-history-store-ksp-its'
Merge branch 'sarich/tao-get-number-ksp-its'
Merge branch 'master' of https://bitbucket.org/petsc/petsc
added MatDiagonalSet_MPIAIJ()
removes searches for square matrices that already have diagonal entries