Add map, make times and plus variadic, add minus, add infix operators

This includes a cleaned up version of #3 as well as a whole bunch of new, fun features.

(I messed up #9... so this is the new #9)