Split engine and runner source files
Implements part of #427 (closed). Split the runner.c and all of its includes as well as engine.c into smaller more manageable chunks.
This contains no changes to any function content; just some rearranging.
Edited by Peter W. Draper