Update QPY to track `Delay` duration values as unsigned integers
What should we add?
During our work on adding a Param::Int variant to the rust enum Param (#16768) , we found that QPY does not have the ability to track an element as an unsigned int_64 type. We previously would only accept unsigned integers within the range of 0 to 9_223_372_036_854_775_807 because older versions of QPY would always track these using an i64 which limits the maximum duration magnitude from u64::MAX (a.k.a. 18_446_744_073_709_551_615) to i64::MAX (a.k.a. 9_223_372_036_854_775_807).
The aim is to fully support the tracking of unsigned int_64 values, specifically for representing Param::Int , natively in future versions of QPY.
Ideally, we'd achieve this by adding a new type-key similar that is reserved for unsigned integers. Since i represents i64 , we could have u or I represent a u64. But other suggestions are welcome.
Source: Qiskit/qiskit