Support leftJoin against a store in offline platform

Adds support for performing a leftJoin against a store in the offline platform. Currently supports two cases:
1. sumByKey(store) is not dependent on the leftJoin
2. sumByKey(store) has a limited dependency on the leftJoin - only legal nodes between the join and store are [map | filter | flatMap]Values, i.e. we cannot have any key fanout

Based off of @johnynek's PR: https://github.com/twitter/summingbird/pull/551

I think this is fine to leave as is. I was using it as an example of code that is in the hot path of execution (and in my view an acceptable place to avoid case matching in the hopes of speeding the code up).