apply_mark_list now doesn't add 0s to violations

Which means we can actually see the payoff in speed due to sparsity.
Pseudo-Korean now takes about half the time to learn as it did before
this commit (and probably takes up less space as well).