Count, Sum, Average implementations

I implemented three easy  operations here simply using `reduce`.

Two things were tricky however:

1. How to name the various "overloads" (have to use different names due to identical erasure). I propose `sum`, `sumLongs`, `sumFloats`, `sumDoubles` here (and the same for the averages).

1. How to handle empty source observables when averaging. I propose throwing an `ArithmeticException` here.

Any other opinions?