add DelayedClosure datatype
remove old versions of DelayedInput API
add closure method
make PutM an instance of Functor
fix gitignore
add tests and coverage scripts
add test to cabal file