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
Is this exactly equivalent to the example without async.if? I mean, if we could call it like this then the only argument to the `truthy` and `falsy` functions are the `cb` whereas the previous example shows them called with a val?