Started work to allow fitting of multiple sources/runs for a single calibration.

- Split SortHistos.C into main() and CalibrateFiles(), this is now running exactly as it was before.
- Added RunSpecEff to Options.C to allow for efficiency caculation from spectra to work in the same way.
- For the moment only the final specified file is actually fitted.

This is going to get ugly before it gets pretty.
Update README for recent changes.
SortHistos now accepts a list of files and a list of sources and puts them into vectors.
Check file and source vectors are the same length.
Runs histo calibration on last file/source in list.

Next step is to run all the fits, then calibrate once.
Calib.C:
 - FinalCalib() changed to use vector of sources to match new way SortHistos does calibration.
 - InitCalib() now checks num sources == 1 and fails if not.
Calib.C, PropXtalk.C, CoincEff.C:
 - Init() function changed from void to int.  0 on success, 1 on fail.
CalibTools.C now separated into:
   FitGammaSpectrum()
      FitSinglePeak()
   CalibrateGammaSpectrum()
   CalibrationReport()

Calls to these tools from FinalCalib() and SortHistos() altered to match.
Some renaming of variables.
Several arrays converted to vectors.
Record in Calibration Report which peaks are used in calibration and which ommited because tests failed.
Rearranged some stuff in definition of RunConfig struct.
Modified the way file type is determined from filename for histo calibration.
!! Code is not compiling at this commit !!
Errors are due to undeclared variables in code for calibration.  This code will be moved once the work on fit data structures is complete and the errors should dissappear.  Wanted to commit before I left work for the day.

Two map types defined:
ChannelFitMap - Maps FitResults for a channel, uses energy of peak as key
MAsterFitMap - Maps ChannelFitMAp to channel using vector (Clover,Crystal,Seg) as key.

Code moved from CalibrateFiles() to FitHistoFile().
Results of fits will be placed in maps.  Energies/Fits from multiple files/runs added to same ChannelFitMap.  All ChannelFitMaps stored in MasterFitMap.

Todo:
Populate maps with fit results.
Alter CalibrateGammaSpectrum() to accept input from map.
Calibrate all channels once all fits completed.
Major work continuing on reorganisation to allow multi source calibrations.
All work on maps complete:
   - ChannelFitMap to store fits for each line from a channels spectra
   - MasterFitMap to store all ChannelFitMaps using vector of (Cl,Cr,Seg) as key
All fitting now working properly in this format.
Still not compiling as calibration part is not working.
SortHistos.C and SortTrees.C both compiling again, finally!
SortTrees.C not changed here, lots of work on SortHistos.C:

- New functions created to configure fit settings, ConfigureEnergyFit() and ConfigureWaveEnFit();
- Lots of code moved from Calibration/Fit to these new functions.
- Full set of fitting/calibration functions now set up.
   - CalibrateFiles() which calls
      - FitHistoFile() which calls first
         - ConfigureEnergyFit() and then..
         - FitGammaSpectrum() which IDs peaks and then calls
            - FitSinglePeak() which then passes back all the way to CalibrateFiles() which loops channels and calls
      - CalibrateChannel()

The CalibrateGammaSpectrum() function in CalibTools.C is now deprecated but left in as SortTrees.C still calls the old method.  This will be fixed next.

So compiling is now fine, basic code is all there, but it's not running properly just quits without doing calibration.  Surely a relatively simple bug, going to look at that next.
Fixed bug from where HistName was moved into Settings struct.
SortHistos.C Calibration is now working for signle or multiple souerces!
Just a few changes to accomplish that.
- Changed where output files are closed.
- Swapped some . and ->'s.

Only remianing problems before this whole multi-source calibration issue is fixed:

- Option PLOT_CALIB_SUMMARY causes the code to hang at the first plot.
- General switching between canvas's for plotting is cumbersome and weird, need to fix.
Moved some declarations around so outfile is visible from other functions.
Writing TGraph to output file after every calibration.
- Fitting/Calibration removed from FinaliseCalib() function.  From now on SortTrees::Calib() will just build charge histograms, SortHistos will be needed to do the actual calibration.

- Most canvas declarations moved from Calib.C and SortHistos.C to CalibTools.C as they will now only be used with SortHistos.

- Exception to above is cWave canvas which stays with Calib() for debugging of WaveEn calculation

- Temporary histogram calibration from Calib() (used to detect gain drift) now adapted to use new fitting/cvalibration functions.  Last of legacy fitting functions removed from CalibTools.C.

- TempFit bool added to FitSettings structure.  USed to override plots and output when fitting temporary spectra.q
Moved functions in CalibTools into more sensible order.
Added some comments.