Clean up TensorRT deprecations, warnings, unbounded string copy (#14148)
### Description
- Updates deprecated use of `nvinfer1::___::destroy()` by using a
`std::unique_ptr<>` instead of our own smart pointer that calls
`destroy`. See [TensorRT deprecation
list](https://docs.nvidia.com/deeplearning/tensorrt/api/c_api/deprecated.html#:~:text=Deprecated%20prior%20to%20TensorRT%208.0%20and%20will%20be,noexcept%20Use%20addMatrixMultiply%20instead.%20Deprecated%20in%20TensorRT%208.4.)
and search for `destroy`.
- Fixes warnings regarding uninitialized member variables.
- Fixes bugs in TensorRT model ID generation:
- Potential segfault when model path only has a root component.
- Unbounded string copy for non-Windows builds.
### Motivation and Context
Clean up