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.e. in that case if ```meshtally.vals[:]``` is [1 2 3 4], each ```flux``` will be put into a list of its own: [1], [2], [3], [4]