provide Control.Monad.ST.pureST

Allows contained mutation within a pure interface
Merge pull request #741 from KMahoney/pure-run-st

provide Control.Monad.ST.pureST