#155 Bidirectional movements now stored in a Set, less hacky list manipulation, renaming knight-like variables to bidirectional names