Fix edge preview props are not matched with cookie (#67779)
### What
Chnage the way of preview props injection to edge runtime, directly read
from env vars of preview props instead of writing to and reading from
prerender manifest.js
### Why
Previously we're trying to make these preview props values become
deterministic that we can replace in edge deployment pipeline in #64521
But the way of serializing process env vars in edge runtime is not
correct. They'll remain as string "process.env.xxx" in the manifest and
also after consumed. This PR fixes that behavior, instead of writing it
into manifest, alwyas consuming from process.env.var directly.
I created a shared util to access the preview props of edge runtime
across all the templates.
On draft provider side, we still need to handle dev mode case when
preview id is `development-id`, but we already have the cookie, it
cannot be aligned with the preview id. So we do a fallback check for dev
mode if the cookie is present and preview id is `development-id` then we
still treat it as draft mode is enabled.
Fixes #52080
Fixes #67075
Closes NEXT-3541