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
I think you can assume that "total" is being requested if tag_name is a tag of length 1 and e_bounds has a length >2. I think this is better than enforcing a naming convention.