[ticket/12775] Add a container_factory class and remove functions_container

https://tracker.phpbb.com/browse/PHPBB3-12775
https://tracker.phpbb.com/browse/PHPBB3-12420
https://tracker.phpbb.com/browse/PHPBB3-12774
(Useful for https://tracker.phpbb.com/browse/PHPBB3-12685)

PHPBB3-12775
alternatively it could be a static method