Base JSON scheme generation

@roman-mazur just review it and say am I moving in the right direction, please
Because ```Gson``` serializes empty maps and lists into ```map: {}``` and ```list: []``` but we should just omit empty lists and maps.