Binop visitor attempt

Moved the generator to the individual visit_* method so it would stay intact over the fun calls. This made it so types can be gotten from a binop of ints or strs. 

Still need to look into how it will do with other methods and non magic methods and all sorts of other things but, it looks like this frame work has some merit.

Isaac