dspop: Don't wait forever when receiving a valid answer

When receiving data from the server, it is possible for the last call to
`.recv()` to return exactly enough data to fill the buffer, which would
cause the current code to wait forever for additional data.

This fixes this issue by making sure that an attempt to decode the JSON
object is made after each read. Since this causes some overhead, the
buffer size has been increased so that it does not happen too often.

Fixes #18.