adding in the interface to SNESVI the possibility of setting arbitrary bounds
adding solver.solve(lb, ub)
adding checking for petsc
add timer to snes solver
adding demo undocumented/contact-vi-snes for snes with bound constraints
Merge PETSc bounded solver from Corrado
Fixes for PETSc nonlinear constraint code.