Some refactoring
Refactoring and bug fixing

- Rules class only validates target move instead of all legal moves
- rename board file
- fix castling into check bug
- get rid of huge function in LinearMoves
- make CastlingMoves more positive
Extract helper module