Groupby2

Main purpose is to add kwargs to `for_each_group` to allow needed functionality in the counter.

Please review the tests, I have remove a test (simply returning at the beggining) and have commented about the test. The test fails, and I don't see how it wouldn't. I have left comments.
Let me see if I understand the use of NameError here. Basically, if you're expression tries to get an attribute that is not on the signal, then it will raise a NameError. This will be caught, and error will be logged and the "null" group will be used.

That seems good. I just want to verify that I'm interpreting this all correctly. Ok, I lied earlier, this time it's just one more thing. How about a quick update to the README to explain this situation and add a brief explanation on the use of the kwargs in for_each_group.