Use `json-stream` instead of our own implementation

Fix a bug where callback throwing an error would be obscured by the `try
.. catch`.