This PR adds a _gej_cmov method, with accompanying tests, and uses it to simplify the skew fixup at the end of _ecmult_const.
In the existing code, _wnaf_const chooses a skew of either 1 or 2, and _ecmult_const needs a call to _ge_set_gej (which does an expensive field inversion internally) and some overly-complicated conversions to/from _ge_storage so that _ge_storage_cmov can be used to select what value to add for the fixup.
This PR uses a simpler scheme where _wnaf_const chooses a skew of 0 or 1 and no longer needs special handling for scalars with value negative one. A new _gej_cmov method is used at the end of _ecmult_const for const-time optional addition to adjust the final result for the skew. Finally, the skew fixup is moved to before the global-Z adjustment, and the precomputed table entries (for 1P, λ(1P)) are used for the skew fixup, saving a field multiply and ensuring the fixup is done on the same isomorphism as the ladder.
The resulting _wnaf_const and _ecmult_const are shorter and simpler, and the ECDH benchmark is around 5% faster (64bit, i7).
Edit: Updated description once the final scope was clear.