можно запускать из консоли: python3 best_split.py

Эта таска проверяет, можно ли как-то пересобрать шарды и получить меньше шардов, чем есть сейчас.
Работает следующим образом:
Выбираются все правила из "важных" шардов (см. constants.py :: SIGNIFICANT_SHARDS);
Из этих правил выбираются все "листья", т. е. те правила, от которых не зависит ни одно правило из множества "важных" правил;
К "листу" добавляются его "предки", т. е. те правила, от которых "лист" зависит как Required, затем к предкам добавляются их предки и т. д., получается шард "с одним листом", так для всех "листьев";
Пока получается, происходит объединение шардов, а именно ищется пара шардов таких, что:
    1) Размер шарда, полученного объединением этой пары, не превышает MAX_SHARD_SIZE (см. constants.py);
    2) Среди всех таких пар у данной пары максимальный размер общих правил.
    Время работы критического пути полученного шарда проверять на превышение максимума не нужно, так как время работы крит. пути объединения - это максимум из времён работы крит. путей объединяемых.
Полученные шарды являются результатом работы таски.
Если получилось меньше шардов, чем есть сейчас, то таска создаст тикет с предложением пересобрать шарды.
