Splitting up Pre and Post filters into Io and Computation variants.  Rearranged some inheritance among filters

* Adding a Computation filter causes a map()
* Adding an Io filter causes a flatMap()