Reworked to support JSON broken into chunks

* Added random splitting into chunks to the test backend.
* Rewritten the frontend networking part to support JSON received in
more than one chunk.
* Added documentation to the refactored frontend parts.
Line too long for GitHub :)