Refactored Igor code into Igor.Expr, Igor.Eval, and Igore.Gadget.

Still not perfect, expressions are really bulky still, but it's a start