Control Kernel\System\Service.pm's ServiceList() keepchildren param from Ticket.XML

The ServiceList() is already updated quite a number of service packs ago to control the removal of complete branches of the service list tree if it's parent node is invalid, by using an optional parameter KeepChildren. However, nothing used this parameter in the rest of the framework so one would have to customize the code just to enable this -- otherwise already present -- functionality.

This commit will create a Ticket::Service::KeepChildren config item in Ticket.XML, and will apply this value in both the Kernel\System\Ticket.pm's TicketServiceList() sub and Kernel\Modules\AgentTicketSearch.pm's Run() sub from where it is called.

Any questions, let me know.