Summingbird Storm/Online refactor

based ontop of #539, so when we merge that I can rebase/merge to make the diff a little cleaner. This is much bigger though so didn't want to get stuck with merge conflicts.

This however does not effect behavior of jobs(though it is source code incompatible at this time) at all. Its mostly moving things out of storm into online where possible. 

Attempts to put some nicer types around our Store Provider and Service Provider needs in online is probably the most useful cleanup to it. Adds a bunch of comments too where needed. 
Its just a kind of known quantity. I don't believe the TS really makes that much sense in any case after this other than being within the bounds of some range usually. This is just a move here from elsewhere. The whole usage probably could do with more thought. (maybe Max, but then with aggregations you could go down also in a stream, so Right at least indicates its pretty arbitrary)