Finally Implemented a correct associative cache.

The current implementation matches all benchmarks with the
write allocate and write back configuration
Only write through and write no allocate implemenations remaining