fix error of node_id-s repeating
Created by: YanaPolonskaya
Была исправлена ошибка дублирования node_id при создании копий деревьев при помощи deepcopy. Поскольку каждый объект Node имеет свой уникальный node_id, при использовании deepcopy для копирования узла, необходимо заменять node_id в узле который непосредственно копируется, а так же рекурсивно заменять node_id всех узлов в стоящем ниже поддереве. Если этого не делать, при копировании поддеревьев, например в скрещивании может произойти ситуация, что в каком-то из поколений, в популяции может попасться дерево с нодами, имеющими разные ссылки в памяти, но одинаковые id. В связи с этим в такие классы как Node, GPNode и Сhain была добавлена функция duplicate, которую необходимо использовать всякий раз, когда нужно скопировать объекты этих типов.