A simple search function

This is a modified negamax function. It will not work because of
the way move generation is currently designed. That is, the location
where generated moves are stored will be overwritten at each ply
of the search.
Refactor Board to use an external generated move buffer

This commit also tests the new style with the search function.
Remove some dead code
Fix search
The result of eval should be greater than or equal to zero
Merge pull request #55 from joichiro/search

The score from the search function might have the wrong sign. Need to investigate along with addition of a principle-variation accumulator and transposition table.