change psl_free() to take a psl_ctx_t *psl

This uses the more common convention where the variable freed is the
thing returned from the constructor directly, rather than having the
deallocator also zero out the pointer itself.