snmp: free snmp_pdu struct allocated by snmp_pdu_create()

This should fix the leak reported in issue #610.
It appears that `req` may be re-set on line 1352, also leaking memory. I think we should move `snmp_free_pdu (req);` to line 1365, i.e. right after the call to `snmp_sess_synch_response()`. Unfortunately I currently have no way to test if this is working as expected. Do you?