Add GHC generics support everywhere
Add result I/O support; don't hold results in memory

--HG--
rename : Criterion/IO.hs => Criterion/IO/Printf.hs