Don't throw away the last byte of Penpartner messages

Since Penpartner messages are not '\r' terminated, we should not
unconditionally overwrite the last data byte received with a 0 char in
handle_response.

Insure that things are 0 terminated before calling handle_response by:
1) memsetting the data buffer to 0 after use
2) never storing more then DATA_SIZE - 1 bytes there
3) not storing the '\r' in there before calling handle_response

Note the contents of the data buffer always being 0 terminated also allows
for better logging in case of errors.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>