Add invoke(), for_each() and for_each_right()

Let's keep the function signature similar to Lo-Dash. So no `reverse` argument. Callers will just have to reverse the collection prior to passing it in.