Appropriately split the code in modules
Appropriately split the trainer's code and add it to the main build process

There is no longer a separate Makefile for the trainer.
Updated the README for the trainer's new file name