Added init(), undo move, and depthLimit

Fixed alpha-beta search to correctly undo moves, added init function to
initialize move stack, and added depth parameter to constructor