reproto JSON backend

Backend implementation for JSON.

Converts a reproto specification to JSON.

This backend is experimental and the generated format is not guaranteed to be stable.