Use DEPTH_MAX instead of MAX_PLY

When comparing to a Depth it is more
consistent to use DEPTH_MAX instead
of a int.

This is a subtle difference because we use
ply and depth almost interchangably in SF,
but they are different. FOr counting plies
makes ense to continue using ints, while
for Depth we have our specific enum.

This cleanly fixes a new Clang 3.5 warning:

No functional change.
Half History Max

STC
LLR: 3.35 (-2.94,2.94) [-0.50,3.50]
Total: 17993 W: 3740 L: 3508 D: 10745

LTC
LLR: 3.25 (-2.94,2.94) [0.00,4.00]
Total: 21346 W: 3691 L: 3453 D: 14202

Bench: 7694316

Resolves #120
Clear token before reading from input

Previously token would keep its value from the previous line when an empty
line was input, leading to unexpected behaviour.

No functional change

Resolves #119
Use PHASE_MIDGAME in game_phase()

No functional change

Resolves #117
Accurate PV: codying style

No functional change.
Accurate pv: remove redundant check

We don't need to check for (i < MAX_PLY),
because search is already MAX_PLY limited.

No functional change.
Accurate pv: retire PVEntry

Use a simple array instead.

No functional change.
Accurate pv: change update_pv() API

And call it consistently across search.

No functional change.
Temporary change MAX_PLY to 8

For testing purposes. It will be revert
after crash test.

bench: 157558