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
Most of the code in this if/else block could be combined if instead of using ```len(tally.e_bounds)-1``` you query the size of ```tag_name``` directly.