* Wrap all conditional loads in `BEGIN {}` to be closer to the
behavior of `use`.
* Add missing `Test::Warnings`, `HTTP::Request` loads.
* Sort by module name, except load `Test::More` first and
`Test::Warnings` immediately after to maximize checking
effectiveness.
* Return truthy from `eval` block to prevent the `or` case from
executing if the loaded module does not have a final truthy
statement. (Except for `ddclient` because we want to test that it
does have a final truthy statement.)
This is mostly to simplify tests, but it also improves readability.
The infrastructure changes in this commit also make it possible to
introduce a new `url` variable that defaults to `opt('server', $h)`
concatenated with `opt('script', $h)` so that we can start migrating
away from those user-unfriendly variables.