Fix negative reference counts in C extension
Fix negative reference counts in C extension

In the C extension, `cbor2` creates several exceptions using
`PyErr_NewExceptionWithDoc`. Then it adds them to the module using
`PyModule_AddObject`, which steals a reference to the object (decrements
its reference count). Since `cbor2` later tries to decrement these
reference counts again in `cbor2_free`, they can become negative. This
results in undefined behaviour such as segmentation faults.

Fix this by incrementing the reference count for exceptions before
adding them to the module.

Fixes #89.

agronholm/cbor2,agronholm/cbor2,agronholm/cbor2