This addresses the "Reorganize self-test" item in #1835.
The SHA256 check used by secp256k1_selftest and secp256k1_context_set_sha256_compression only exercises the hash module, so the first commit moves it next to secp256k1_sha256_smoke_test and renames it to secp256k1_sha256_selftest. No functional change.
After that, selftest.h only held a one-line wrapper, so the second commit removes the file and has secp256k1_selftest call the hash self-test directly. A comment there explains why it always uses the built-in implementation: the API function is meant to catch a broken build of the library (e.g. wrong endianness), and a compression override is already checked when it is set on a context.
I kept the move and the removal as separate commits so the first one is easy to review as a pure move.