Handle invalid NULL at the end of a PDU

We've seen at least one provider that sends a NULL byte after the `short_message` field in a `deliver_sm` PDU.

This is a violation of the SMPP spec, but we should probably handle it more gracefully than assuming it's the start of an optional parameter and exploding because it's too short to be a 16-bit integer.
I submitted a pull request a few months ago to replace the print statements with logging: https://github.com/praekelt/python-smpp/pull/3

It sounds like you're working on some other issues, but let me know later if you're interested in setting up logging and need help.