Corelli cross-correlation algorithm

Ticket [#9984](http://trac.mantidproject.org/mantid/ticket/9984). This should calculate the elastic signal from the total ToF and the top-dead-centre time from the correlation chopper. The signal is applied in the form of a weight on each event. A new IDF for Corelli will also be needed, containing the correlation chopper sequence.

**To test:** Load a Corelli data file, eg.
`LoadEventNexus(Filename='/SNS/CORELLI/IPTS-12008/nexus/CORELLI_2111.nxs.h5', OutputWorkspace='COR_2111')`
You will need to LoadInstrument because the IDF in the nexus file doesn't contain the chopper sequence.
`LoadInstrument(Workspace='COR_2111', MonitorList='-1,-2,-3', InstrumentName='CORELLI')`
Run the algorithm.
`CorelliCrossCorrelate(InputWorkspace='COR_2111', OutputWorkspace='out', TimingOffset=56000)`
The output workspace should now be a weighted workspace, you may want to SumSpectra and Rebin to compare the input and output.

The Windows debug build (on the develop builds tab) has picked up an out-of-bounds access error when running the `test_exec()` unit test. It seems as if it is possible for the value of `tdc_i` to be equal to the size of the `tdc` vector at this point.