Avoids incorrect behavior with large integers in `elemAt`, `substring`, `genList`, etc, which results into crashing the Lix interpreter. At the same time, unit tests were added for these edge cases with 2^32 as an argument of these primops. Port of https://github.com/NixOS/nix/pull/13309. Prior art in https://github.com/NixOS/nix/pull/7222 (forgotten by the original project…). Change-Id: I1c43ed64f26bcb60e51869e11a74e5de2b7db53a Co-authored-by: Raito Bezarius <raito@lix.systems> Signed-off-by: Raito Bezarius <raito@lix.systems>