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.
As long as it is within a namespace AND the first letter in the identifier is lower case (also no double underscores) it is valid c++ ie. isn't reserved wrt the standard.