feat(library/tactic): add rotate_left/rotate_right tactics, closes #278