rework movepicker stages
This is supposed to be a general cleanup of the `MovePicker` class. The main points are
- merging the `*_TT` and `*_INIT` movepicker stages. The "kind" (qsearch/evasions/probcut/normal) of a movepicker instance is now encoded stored in the `first_stage` variable instead of being implicit in `stage`
- move bad quiet moves next to bad captures so we can merge the `BAD_CAPTURES` and `BAD_QUIETS` stages
- the logic for quiet move skipping is moved from `next_move()` to `skip_quiets()`
passed non-reg STC: https://tests.stockfishchess.org/tests/view/6ad33e37733e627f7058c598
LLR: 2.96 (-2.94,2.94) <-1.75,0.25>
Total: 100032 W: 25521 L: 25381 D: 49130
Ptnml(0-2): 99, 10553, 28604, 10629, 131
closes https://github.com/official-stockfish/Stockfish/pull/7235
No functional change