Find algorithm generation for reaction

Реструктурированны юниты, занимающиеся генерацией кода. Добавлена отдельная ветка логики для генерации реакций на каждом уровне: построение графа сгруппированных нод, построение графа "позвоночника" алгоритма, соответствующие фабрики, создающие ноды и юниты. Добавлен единственный юнит для генерации кода реакций.
Имеется отдельная заморочка с генерацией кода для случая, когда необходимо найти только один атом при итерации соседних атомов по 2. В настоящий момент работает только для случая когда имеется только позиция между соседними атомами в искомой структуре (реакции). Для этого случая необходимо исправлять процедуру расширения структур во время интерпретации, для случая когда 2 атома должны "объединяться" в один, с учётом правил кристаллической решётки.
Redundant use of `Object#to_s` in interpolation.