I agree that its best to undercoat, and it should be an acrylic or medium other than oil-based if you are painting in oils. Once the acrylic dries, is cannot be be disturbed by over painting in oils. Also, a good base will provide a surface for the oils to stick to - called "tooth." Paint is less likely to rub off.
Lastly, the color is a matter of taste. I prefer white because it allows colors to show bright by reflecting off the white undercoat. You can use gray or even black, as many others do. However, their work tends to be darker since less light is reflected by the undercoat - which might be fine for certain subjects, or if that's your style. Just keep the undercoat thin and let it dry overnight before you begin painting. Good Luck.