* Restore ability for programs to upgrade themselves (#20265)
* Make helper associated fn
* Add feature definition
* Add handling to preserve program-id write lock when upgradeable loader is present; restore bpf upgrade-self test
* Use single feature
(cherry picked from commit 2cd9dc99b6
)
# Conflicts:
# runtime/src/accounts.rs
# sdk/program/src/message.rs
# sdk/program/src/message/mapped.rs
# sdk/program/src/message/sanitized.rs
# sdk/src/feature_set.rs
* Fix conflicts
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>