Follow-up to #36164, as suggested in #36164 (comment).
Tracked in https://github.com/kevkevinpal/bitcoin/issues/550.
Problem: MakeByteSpan and MakeUCharSpan return views into their input. A temporary container can leave those views dangling.
Fix: Add LIFETIMEBOUND to the overload taking non-borrowed_range types, so Clang diagnoses the misuse on owning containers without flagging correct code that passes a view. leveldb::Slice is opted into borrowed_range so dbwrapper can keep using the helper. Matching the util/string.h helpers from #36164.