Added the JSON output option to use with Zephyrus.

Ok, so this is the Zephyrus pull request :)

Two comments:

1. I'm not sure if I've integrated the new output option ("-json") into the coinst structure in the right way. I've tried to change the code as little as possible. Is it acceptable?

2. Moreover I've added the "json.ml" file (started from a copy of "graph.ml"), but I didn't succeed to add the corresponding interface file "json.mli" (an exact copy of "graph.mli"). I believe the interface for the module Json should be exactly the same as for the module Graph, so it should work without problems. I suspect that I just didn't handle the changes in Makefile properly, but I don't know how to do it better (I've tried). This is the error displayed when I create "json.mli" (i.e. "cp graph.mli json.mli") and then I type "make":

File "json.ml", line 1, characters 0-1:
Error: Could not find the .cmi file for interface json.mli.
make: *** [json.cmx] Error 2