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 avoir retiré le `redef to_s`? J'ai l'impression que le nouveau test saute une étape. Il test la version Json et la version resérialisé en Json. Mais ne test plus la version Nit (en HashMap).