Add a new WT_SESSION::transaction_range_pin method.

Can be used by applications to identify sessions that are keeping
transaction IDs pinned.
I don't think the logic is quite right here.

First, we should use `WT_TXN_NONE` instead of `0` in transaction ID logic.

Next up, I think the logic should be:

```c
uint64_t pinned = txn_state->snap_min;
if (txn_state->id != WT_TXN_NONE && TXNID_LT(txn_state->id, pinned))
    pinned = txn_state->id;
if (pinned == WT_TXN_NONE)
    *prange = 0;
else
   *prange = txn_global->current - pinned;
```

As written, I believe we would calculate a range of zero in the case where `snap_min` is set but `id` is `WT_TXN_NONE`.