Introduce asymmetric SEE.

No functional change
Fix a silly bug
Make use of asymmetric SEE
Merge branch 'master' into asymm_see2
Document asymmetric SEE pruning trick

No functional change

Signature: 4969307
Simplify and speed up previous patch

Use an optinal argument instead of a template
parameter. Interestingly, not only is simpler,
but also faster, perhaps due to less L1 instruction
cache pressure because we don't duplicate the very
used SEE code path.

No functional change.