Tidy json.h.

the only usage change is passing streams to constructors by reference in stead of passing a pointer.

documentation was revised and fleshed out, and is now mostly complete inside json.h.