You should go with non-k version of Skylake CPU's, because you cannot overclock on your motherboard. An I5 should be enough for gaming needs.
Here's a CPU supported list for your motherboard: http://www.msi.com/support/mb/H170-GAMING-M3.html#support-cpu
An I5-6500 would be a great choice for your motherboard.
You should go with non-k version of Skylake CPU's, because you cannot overclock on your motherboard. An I5 should be enough for gaming needs.
Here's a CPU supported list for your motherboard: http://www.msi.com/support/mb/H170-GAMING-M3.html#support-cpu
An I5-6500 would be a great choice for your motherboard.
There are different socket types in motherboards, the most common sockets made for Intel CPUs are LGA 1150, LGA 2011, LGA 1151, and LGA 1155.
For AMD CPUs the most common socket is AM3+. When looking at CPUs take note of what socket type is mentioned in the title of the CPU, for instance "Intel Core i7-4790K Devil’s Canyon Quad-Core 4.0 GHz LGA 1150" you can see that the LGA 1150 socket type is mentioned in the title. Then you can look for a motherboard that mentions the same socket type in its title, here's an example "MSI Z97 PC Mate LGA 1150 Intel Z97 HDMI SATA 6Gb/s USB 3.0 ATX" as you can see they mention the same socket type (LGA 1150) that was mentioned in the CPU's title. I'd recommend that you first decide between getting an Intel or AMD CPU before looking for a motherboard. Hope this helps!