Adds DeltaHantoGame and Movement, which is used to store a piece type's movement type. This is used for certain rules, such as checking if blocked. Blocked doesn't happen to fliers, so don't check blocked if your movement type is flying. More refactoring was implemented as well.