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>
C'est pas vraiment clair ce que représentent error et message. sont-ils tous les deux free-style? L'indiquer quelque part.