work on AMS interface, consistent naming, ams.h not included in petscviewer.h, no ifdefs

Hg-commit: 642571a1dc7109fdb7e5b0abb23bf260d10eb970
cleanup of AMS viewer, handle JSON-RPC multiple Comms

Hg-commit: 1c6c1b742ae96264dbd8aad2eb769b7fe76641f3
make KSP AMS monitor use default AMS communicator

Hg-commit: 5b351599f0c23f5160eb9e36bdd4992a2fb84e82
Merge branch 'master' into barry/ams
fixed calls to PetscObjectAMSTake/GrantAccess() to cast first argument to PetscObject
Fix for SNESSetConvergenceHistory() when input a is null
more work on moving AMS model to viewer
Merge branch 'barry/convergence-history' into barry/ams
PetscOptions: Add basic support for YAML-formatted options files

Basic support for YAML options files. This minimalistic parser does not
support advanced features (sequences, bookmarks), so it is really
a JSON parser.

Will try to add support for -options_file_type <TXT,YAML> flag in case
one want to add more options file formats in the future.
changed AMS publishing to use the Viewer model
added simple AMS viewer for mat,ksp,snes,ts
added --ksp/snes/ts_view_pre for starting the viewer before the solve (ugly but useful for AMS)
added PetscStackCalls around AMS function calls when appropriate (note do not want these in webserver because do not webserver stopping just because AMS server is down
add AMS viewer for PC, server can only run without any memory debugging
added callback for changable fields in pyjs representation of AMS memories
PetscOptions: style compliance
moved webserver code to its own directory and file
split webserver into standalone problem that is not part of running PETSc application
had to do this since impossible for AMS publisher and accessor to be in same application
better to just totally redo AMS! But that is to large a project
goddman script Jed sent me doesn;t work, it loses changes
PCFieldSplit: change -pc_fieldpslit_real_diagonal to -pc_use_amat

Follows on: 49517cde1b273295cf3941ef5a8aecdb444b7da7
got value back from webclient to application
Added support for starting server automatically by application code
messed around finding a bug in AMS
shutdown webserver if you started it on PetscFinalize(), what about when crash, should still shut it down