Changes the default thread scheduling on simulated cores to match the new recorded cpu mappings. The cpu's are assigned to cores in a round-robin fashion, and each thread region is assigned to the core that owns the cpu in the thread region's header markers.
Adds a new option -static_scheduling which requests the old method, where the cpu markers are ignored and threads are statically assigned to cores.
To keep tests deterministic, they are run with -static_scheduling by default. The tests with many threads which need to match any core mapping anyway override that to test the cpu scheduling.
Updates the documentation for the new CPU-scheduling default.
Fixes #2843 (closed)