[sharding_in_types] Introduce `auto_mode`, `user_mode`, `auto_mode_ctx` and `user_mode_ctx` as **private** APIs to make writing auto/user sharding in types code way easier and noise-free.
These can be made public in the future under different names.
PiperOrigin-RevId: 714169304