Cleanup GenTypeClass

`First` and `Codiagonal` were removed
8b9fb88bb993fcaa4
d16951102115966af
Bumped the timeout in TimerTest.
Merge pull request #331 from seanparsons/timeout-bump

Bumped the timeout in TimerTest.
Merge pull request #330 from xuwei-k/request/cleanup-gentypeclass

Cleanup GenTypeClass
Lens -> State integration returning the old value

- provides `LensFamily.modo` which returns the old value (as an alternative to `LensFamily.mods` which returns the new value)
- provides `LensFamily.assigno` which returns the old value (as an alternative to `LensFamily.assign` which returns the new value)
Merge pull request #324