Ram compatibility is associated with the motherboard, not the cpu.
You want documented ram compatibility. If you should ever have a problem, you want supported ram.
Otherwise, you risk a finger pointing battle between the ram and motherboard support sites, claiming "not my problem".
One place to check is your motherboards web site.
Look for the ram QVL list. It lists all of the ram kits that have been tested with that particular motherboard.
Sometimes the QVL list is not updated after the motherboard is released.
For more current info, go to a ram vendor's web site and access their ram selection configurator.
Enter your motherboard, and you will get a list of compatible ram kits.
While today's motherboards are more tolerant of different ram, it makes sense to buy ram that is known to work and is supported.
The MHz numbers refer to speed. The cas numbers refer to the delay before getting up to that speed.
The higher the speed, the higher the delay(cas) so they somewhat offset each other.
Ultimately the speed of the ram past 1600 has not that much effect on real app performance or fps(vs. synthetic benchmarks) on intel platforms.
Read this:
http://www.anandtech.com/show/4503/sandy-bridge-memory-scaling-choosing-the-best-ddr3
For just gaming, 8gb is the sweet spot. But, since ram is cheap, I would buy 16gb. Windows keeps more code in ram available for instant reuse.
I would look for a 16gb kit(2 x 8gb) of 1600 or 1866 low profile ram.
High heat spreaders are not useful and can impact many cpu coolers.