Card 642:  EMR module adds DefinitionPersisters that conflict with the reporting module

To solve this ticket, I changed the DefinitionLibraries such that they no longer implement DefinitionPersister, and I added some new service methods simply for retrieving Definitions for use in the MirebalaisReports module.  These service methods first check any definitions defined in DefinitionLibraries, and if not found there, check the reporting module (where it will look in the definitions persisters defined there).

Due to the fact that we are trying to move off of the EMR module, I have also moved all of this code out of the EMR module, and into the mirebalais reports module directly.  This is likely not going to be the final resting place, but until we have a clearer idea of our preferred generic strategy, it makes sense to keep this functionality limited to the mirebalais reports module where we can freely iterate on it without worrying about broader impact.  We can then extract the methods and constructs that work best for us as we go and put them in the appropriate place.