Fixed detection of OpenCL on Mac OS.

OpenCL-headers reside in CL/ on all systems except Mac OS, where they reside in OpenCL/
The dispatch is commonly handled correctly by libraries, yet the correct header also needs to be passed to BuildSystem.
Fix in documentation to SNESLineSearchShellSetUserFunc()

Arguments in the example code were reversed.  I also styled it better.
Noticed by Sander Land <sander.land@gmail.com>
Clarified docs for SNESLineSearchGet/SetVecs()

Make sure that it's well stated that X and F are solution and function
vectors; W and G are the associated work vectors.
Small formatting fix
hdf5: add/enable fortran bindings
baijfact2.c: splitup the big file into multiple files - so asto
reduce load on some compilers [which break in c++/complex/optimzied mode]

baijsolv.c baijsolvnat.c baijsolvtran.c baijsolvtrannat.c
Fixed type warning when passing PetscScalar (*)[2] to MPI_Allreduce().
Merge branch 'prbrune/snes-linesearchdocfix'
Merge branch 'prbrune/snes-linesearchdocfix' into next
Changed SNESNormType to SNESNormSchedule to better describe what it does.
Added SNESFunctionType,SNESGet/SetFunctionType()
Add SNESApplyPC() replacing the PC_LEFT control path in SNESComputeFunction()
SNESLinesearchSetFunction() for setting what function the line search uses
NEWTONLS works with preconditioned and unpreconditioned functions.

ASPIN (or other left-preconditioned Newton methods) can be run with
either the usual function or the preconditioned function monitoring
convergence.
SNESRICHARDSON moved to the new preconditioned/unpreconditioned norm scheme.
LineSearchBasic and LineSearchCP can use (un)preconditioned function
SNESNCG Preconditioned/Unpreconditioned norm support
SNESQN supports preconditioned/unpreconditioned function choice.

I also removed "right" preconditioning for SNESQN; this will come back
in a more useful form in a patch coming soon.
Check converged reason of snes->pc under new preconditioning organization.

In the case of the PC application, the SNES aborts with reason DIVERGED_INNER.
In the case of the line search, a failure of the preconditioner looks like
a function domain error (so that exit will be proper).
SNESNGMRES mostly supports new preconditioning settings.