Implement negamax for searching; not working 100% correctly, might be due to move generation