More strictness annotations for generic caches
Add simple benchmark. Reorganise tests and benchs

Benchmarks are supported by cabal 1.14 - other version will emit warning.
Move tests and benchmarks into separate directories to clean up the main code.
Make it compatible with 7.0.*

Again