Move sequencing code into sequence executor [#3185]
Closes #3185 (closed). Moves sequence tracking code out of Executor.ProcessTransaction
into the sequence executor. This decouples sequencing from transactions, paving the way for non-transaction synthetic messages to be sequenced.
Changelog: refactor