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.
PetscOptions: style compliance
PetscOptions: Added tests for PetscOptionsInsertFileYAML
PetscOptions: Replaced the ugly  if {} else if {} else if {} with a fancy switch statement in yamlimpl.c
yaml: minor fixes: memory leak, match MPI types, update output/ex9_1.out
yaml: makefile fixes for alltests
Merge branch 'blaise/yaml' into next

* blaise/yaml:
  yaml: makefile fixes for alltests
  yaml: minor fixes: memory leak, match MPI types, update output/ex9_1.out
  PetscOptions: Replaced the ugly  if {} else if {} else if {} with a fancy switch statement in yamlimpl.c
  PetscOptions: Added tests for PetscOptionsInsertFileYAML
  PetscOptions: style compliance
  PetscOptions: Add basic support for YAML-formatted options files

Conflicts:
	src/sys/examples/tutorials/makefile