Lowin py3 2

This passes tests.  I had to find the frame in the first called to `dispatch` and then send that frame through as a keyword argument.  

I'm not sure how I feel about all of the `dispatch_foo` functions.  It makes it slightly harder to follow.  I'm not sure what the best way to organize all of the logic is.