WordCramEngine: use an Iterator, don't manually iterate through an EngineWord[]

At some point, I'd like to start looking at multi-threaded WordCramming. This is prep for that.

Basically, this kills `int eWordIndex`, and replaces it with a `ListIterator<EngineWord>`.

It's a totally internal change, and shouldn't affect any end-users.