Add if flow

Adds something similar to what is discussed here http://joseoncode.com/2012/06/24/messing-with-cps-in-js/ and what we talked about https://github.com/Clever/clever-common/pull/68

Allows us to write that code to https://github.com/Clever/clever-common/pull/69
0ec6061 sinon seems pretty useful (and far less scary than the last time I tried to use it about a month ago)