splitting cyclic.hpp into cyclic_common.hpp, cyclic_1d.hpp, cyclic_2d.hpp and cyclic_3d.hpp