bnum 0.14.4

Fixed-size integer types with generic signedness, bit width and overflow behaviour.
Documentation
- Add FromBytes, ToBytes, ConstZero, ConstOne from num_traits
- unchecked methods const on stable
- added TryFrom for BUint to BInt, BInt to BUint
- add TryFrom<&Integer> for Integer
- remove Add<Digit> implementation
- make TryFrom<primitive> instead of From
- only 8 bit digits
- rename to Uint, Int
- add alloc features
- MSRV 1.65.0 -> 1.87.0
- use 2024 edition
- use rand 0.10.0
- make as_bits_mut, digits_mut, set_bit const
- remove Uint From [u8; N] and vice versa
- remove parse_str_radix from Uint and Int
- added from_ascii and from_ascii_radix to Uint and Int
- added carrying_mul_add to Uint and Int, widening_mul and carrying_mul to Int
- added unchecked_neg to Int
- added checked_signed_diff to Uint
- added overflowing_sub_signed, wrapping_sub_signed, checked_sub_signed, saturating_sub_signed to Uint
- removed parse_bytes from Uint and Int in favour of from_ascii_radix
- correct behaviour of is_multiple_of for Int and Uint (previously panicked if rhs was zero)
- correct behaviour of mod_floor and div_floor of num_integer::Integer trait for signed ints
- add OverflowingMul impl from num_traits to Uint and Int
- Debug impl in no_alloc is padded hex string
- added compile time assertion about valid bit size
- detect overflow checks rather than if in debug build or not (so match integer behaviour exactly)
- fix behaviour of shifts in no overflow checks mode

- remove as_bits, as_bits_mut from Int
- remove 2, 3, ..., 10 from Uint and Int, -1, -2, ..., -3 from Int
- remove {to, from}_{be, le}, {to, from}_ne_bytes methods (as not portable), makes no sense as digits always stored in little endian
- remove .bits() from Int
- remove from_digit()
- remove Int::{from,to}_radix_{b,l}_e
- remove Div/Rem<Digit> for Uint
- remove ONE, ZERO, NEG_ONE consts (not needed now we have the n! macro)
- remove CastFrom from prelude
- remove Slice struct in random module, remove try_fill_slice function (superseded by rand 0.10 Fill trait)
- rename Uint::bits to bit_width, takes self not &self
- implement core::error::Error trait for error types