disable PTHREAD_MUTEX_ERRORCHECK in release mode (#1995)
disable PTHREAD_MUTEX_ERRORCHECK in release mode (#1995)

Motivation:

`pthread_mutex_t` locks can do advanced error checking with
`PTHREAD_MUTEX_ERRORCHECK`, the cost of which was unknown. With #1994 I
could now measure it.

The differences from my local machine (M1 MBP) for uncontended locks
are:

- on Linux: 10% faster without `PTHREAD_MUTEX_ERRORCHECK`
- on macOS: 25% faster without `PTHREAD_MUTEX_ERRORCHECK`!

Modification:

Do the extended error checking only in debug mode. Note that we still
`precondition` on all pthread return values (which is basically free).

Result:

Faster code.

Co-authored-by: Cory Benfield <e2b4f0650e369574e9b0029c3b3893634b6d4097@apple.com>
apple/swift-nio,apple/swift-nio,apple/swift-nio,apple/swift-nio,apple/swift-nio