[req] drop from_controller on non WebRequest object (Closes #2901079)
The `controller` concept is purely a web things. It does not belong to generic
`req` object.
The `build_url` code is slightly changed to handle that. This probably requires
extended cleanup later.
This is a barely used and very internal API. No deprecation period
option_group_changed('port', 'main', 'web')
option_group_changed('query-log-file', 'main', 'web')
option_group_changed('profile', 'main', 'web')
option_group_changed('max-post-length', 'main', 'web')