Add free_abstract cffi function to also null the data and reset the kind.  Throw catchable errors when val_check* fails