sss/eff: make explicit the use of Free + Codensity

the Eff monad transformer is essentially the Free construction. in this
change we make this explicit by making 'VE' be a type-synonym depending
on Free. Eff is then an application of 'Codensity' transformer to 'VE',
done with the view to improve efficiency of defining monadic
binds (i.e., the CPS transform of DLists).

as of version 4.1.0.1 of kan-extensions Codensity does not have a
Typeable instance. for ghc-7.8 we're able to add an orphan Typeable
instance for Codensity which serves our purpose. we will no longer need
this once <https://github.com/ekmett/kan-extensions/pull/11> is merged
and deployed.

TODO: use the ideas from the zseq/'reflection without remorse'
paper (<https://github.com/atzeus/reflectionwithoutremorse>) to do away
with the CPS transform while generalizing the efficiency gains via type
aligned sequences (<http://hackage.haskell.org/package/type-aligned>)
sss/open-union: add Typeable instances

for ghc-7.8 and above we're able to have Typeable instances both for
'Union' and ':>' since Typeable is now poly-kinded.

we should now be able to, say use, 'Eff' as a type of State for GHC
versions 7.8 and above

sss/eff: update README to reflect current status wrt Typeable
sss/eff: version bump: 1.8.0.0 -> 1.8.1.0