Jasper report use our file loader

The primary goal was to allow the jrxml files to contain relative references to resources such as images.  However since the files are compiled to a working directory the relative references are broken.  This allows the resource paths to be relative to the configuration directory.  

The following changes were either needed or discovered while doing this work.

1. Modify the ConfigFileLoaders so that files from the configuration directory or the working directories (See WorkingDirectories object) can be loaded.
2. Modify JasperReportFillManager so that when it loads resources (images, etc...) the ConfigFileResolvingHttpRequestFactory is used to load it.  This class first try to load using the ConfigFileLoaders then it will attempt to load using http requests.
3. Previously JasperReports used a thread pool when generating sub-reports.  This could spawn many many threads.  This was changed so that the current thread is used for generating sub-reports.