MAGIC variance reduction

I added the MAGIC variance reduction technique to variancereduction.py. @makeclean, you should review the method. Tests were also added.

Theory manual addition still needed.

issue #344
Okay, I can think of several physical reasons why both make sense, so how about we add a switch as an option, where one can normalise locally, i.e. each energy group will have its normalisation flux point chosen locally from within the group, and one based on the total flux, where each energy group is normalised from the flux in the energy bin, but where the spatial bin is picked from the highest total flux?