[connection] move hook control logic on Connection
The _hook_control context manager now operate on connection. We have to keep a
specific entry point in Session to ensure Connection object are properly
cleaned up when using session to "manage" Connection live cycle.
Related to #2503918
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')