Refactored move generator
Updated search to use refactored move generator
Lazier calculation of position's hash
Raised maximum search depth
Reduce indirection by using temp variable