Update apply move to use correct deep copy.
Modify guardfile to run all unit tests.
Refactor minmax algorithm.

Update algorithm to use map and reduce, remove unused code, extract base
score to a constant.