Add logic to 152 as a patch to:
- verify that a slot entered onto the deferred frees list meets the criteria at that time.
- log out all bad deferred frees along with the commit time that registered them before throwing an exception.
- provide a system environment variable to not throw an exception. So errors are logged and processing continues and the commit commits.
- throw an exception in all code paths returning from alloc() and free() if the current thread is interrupted (separate PR for this).