Constructors are described more clearly and return values on error
situations more compehensively. Also add an example of the object
iteration protocol.
All pointer arguments are now tested for NULL. json_string() now also
tests that strdup() succeeds. This is to ensure that no NULL values
end up in data structures.
Also desribe the different sources of errors in documentation.