Dynamic (re)assignment of processors to slow steps during import

- Made property encoding parallelizable in the batch importer
- Allows for multiple execution monitors
- The "average" stat is now a moving average which responds more quickly to changes
- Added a processor execution monitor that dynamically, throughout the import, (re)assigns processors to steps as it sees fit
That's what the `0 < i < 5` loop above does. Changing `greaterThanOrEqualTo` to `greaterThan` makes that clearer.