* Expose runtime_env_config for custom Fastly entry points
Rename the private env_config_from_runtime_dictionary loader to
runtime_env_config and export it from edgezero-adapter-fastly, so
custom Fastly entry points that bypass run_app can resolve staged
EDGEZERO__* store selectors identically instead of duplicating the
store name and key-derivation rules.
Split the key derivation into a pure runtime_env_keys helper and pin
its rules (a __NAME selector per store id, __KEY for config stores
only) with a unit test that runs without a Fastly host.
Closes #349
* Address PR 351 review: full custom-entry-point parity
Make dispatch_with_registries public, taking StoresMetadata whole, so a
custom Fastly entry point pairs it with runtime_env_config for the same
store wiring run_app uses, including the config-only __KEY selector that
FastlyService's bare-handle path cannot express.
Replace the private logging_from_env with From<&EnvConfig> for
FastlyLogging so the level-parse fallback and the endpoint-derived
use_fastly_logger rule are not reimplemented downstream.
Add the ungated RUNTIME_ENV_STORE_NAME const as the single source of the
store name; document that the fixed name is what staged relinking relies
on. Document the empty-default-stores() trap for handwritten Hooks impls
and the entry points that do not resolve the env overlay themselves.
Explain the test arm of the runtime_env_keys cfg gate, and pin the key
derivation with exact-set assertions plus an empty-metadata case.
* Address PR 351 follow-up review feedback