A framework for parsing endf files in c++

This is an admittedly very rough idea on flexibly parsing endf files in c++ (but it does work). Before this gets merged the only thing someone who wants to extend it should need to write is the `read_xxx` function where `xxx` is the mt number and write the struct derived from `mt_base_struct` (and maybe edit the xdressrc if I go that direction). The decision trees and cython layer will all be autogenerated.
I agree that we'd have to profile to be sure about the speed (and that likely isn't worth the effort) and that it probably more readable in this case.