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
Also, @makeclean this will probably make more sense when I finally get the theory manual entry made and can explain where all these 0.5 and 0.001 values come from.