BUG: spatial/qhull: recompute facet centers always

Qhull may fail to update them in the incremental mode.
TST: spatial/qhull: refactor incremental mode test + add test for f5bd5ffc
BUG: spatial/qhull: fix a deadlock condition

Python garbage collector can run a __del__ method in principle at any
time.  If this happens inside a _Qhull method that holds the qhull lock,
and the destructor calls _Qhull.close, a deadlock ensues.

This commit makes _Qhull.close safe to run in a destructor, by
postponing the cleanup if the lock is held.

This issue affects only code using the incremental=True mode, as in
other cases the cleanup is performed immediately after use and not from
the destructor.

Also, remove the __del__ method from _Qhull so that the close() method
is never called from the class's own destructor.
TST: spatial/qhull: re-enable a pathological test case that now works

(this and previous 3 commits are a backport of PR-2858)