added compatibility functions
raise ValueError instead of TypeError if given wrong value
report the actual raised exception, rather than a blanket TypeError
lower priority of void** to that of void*
add __destruct__ method (cppyy compatibility)