As a general policy, all metal-to-metal connections get either grease or thread locker.
I use blue loc-tite, the lightest duty loc-tite, on most of the little screws that tend to work loose like the screws that hold on the water bottle cage, rack, fenders, etc. Most other fasteners get a thin film of grease on the threads. When you're done, wipe excess grease off so it doesn't get full of grit.
Carbon seat posts, handlebars, etc. do not get grease. I also do not grease the stem where it clamps to the bars and to the steerer tube. I do, however, grease the screw threads on the stem. Seat post does get a thin film of grease on it unless the frame or post is carbon. Anything that squeezes out can easily be wiped off and grease inside the frame won't hurt anything.
Cranks to bottom bracket: square taper does not get greased, splines do get grease.
I do grease the hub/cassette connection and the threads on the retainer ring but it probably doesn't make a huge difference. Just a thin film to stop trapped moisture from causing corrosion.
Your LBS should have a tube of appropriate grease for a few bucks. If you buy from the auto parts store instead, a light lithium based grease should be fine. For greasing threads and such, the type of grease you use really isn't that important. Its main purpose is to keep the metal from rusting or seizing.
If you are building with a steel frame it is a good idea to buy a can of frame-saver or similar spray goo to rust proof the inside of the frame tubes. It will have use instructions on the can.