Handle a*b syntax; 61.water tests this.

This is the culmination of a lot of seeming digressions (almost yak
shaving but not so bad because it was stuff I'm happy is done now) in
order to help us get to a nice state for infix handling.