proposal: re-introduce Jsonable interface in json

The re-introduction of `Jsonable` allows us to return a `JsonError` when something got wrong in the parsing and let the client handles the error.

I also added two classes: `JsonObject` and `JsonArray` for a better abstraction of those entities in Nit.

I updated the tests and clients, if I miss something, say something.

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Pourquoi pas en faire une sous-classe de HashMap[String, ...]? Là on se retrouve dans la situation où JsonValue est composé d'un JsonObject qui est composé du HashMap réel.