Add `whenM` and `unlessM` combinators
Add Feldspar.Memoize module

The Memoize module supports acceleration of functions through tabulation of
results.