add movegen tests and implement bitwise ops