Added influenced_squares implementation to knight and some refactor