Rx combinators

Put the memoized streams int a memo map. More interestingly though, refactored the hot key stream to be a pure stream composition with functionally pure combinators. The result is more expressive, readable and extendable.