Expose `is_always_lock_free` as a macro
Currently, the is_always_lock_free method provides a way of ascertaining whether a certain atomic implementation is lock-free as a const; but in today’s Rust one cannot, for example, allow the layouts of structs to depend on this value. To support this use-case, it might be nice to expose cfg_atomic_*_always_lock_free and cfg_atomic_*_not_always_lock_free alongside the other cfg_* macros.
I think this could be implemented by basically[^1] copying the existing cfg macros, always applying cfg(...) of cfg_attr(feature = "fallback", cfg(...)).
https://github.com/taiki-e/portable-atomic/blob/9113456b11cd87dd5e489ccb368d5b47552f8594/src/cfgs.rs#L245
[^1]: The exceptions are architectures without atomic CAS when the critical-section feature is enabled, 64-bit atomics in ESP-IDF (https://github.com/rust-lang/rust/issues/117305), and all atomics on C-SKY (https://github.com/rust-lang/rust/issues/117306).