Changed the way failed thread synchronization checks are dealt with if strict thread synchronization checking is disabled (i.e. set to loose).
Changed the way failed thread synchronization checks are
dealt with if strict thread synchronization checking is disabled (i.e. set to
loose).

When the current writer attempts to enterAsReader(), then
leaveAsWriter() is first called. It is assumed that for some reason it was not
called, although it should have been.

Vice versa, when a current reader attempts to enterAsWriter(), then
leaveAsReader() is first called.

Hopefully this decreases the error sensitivity.

Improved logging.

muloem/xins,muloem/xins,muloem/xins