Move placeholder validation to Provision to support runtime substitution
Caddy placeholders like {env.VALUE} should not be evaluated during Caddyfile
parsing. The syntax {env.VALUE} is for runtime environmental variables, and so
should be preserved as strings in configuration. The syntax {$VALUE} will
result in environmental variables substituted at Caddyfile parse time, which
is already performed by the Caddyfile parser.