Fix online plan bug with multiple serial summers and certain no-ops

The comments summarize this one. But the take away is:

1) We need to look at even more robust tests, and try to think about what a correctness proof for the plans would look like.

2) There are still many opportunities to make storm plans with fewer bolts. We should take a look at that as we look to squeeze all the perf we can out of storm.
also, if we want to eliminate dupes, we should say so in the documentation (and the method name). Eliminating dupes is not part of the mapKeys contract. It is just the keys analog to mapValues.