Well, if he's planning in bringing this into a game engine, he would probably be best to do 1 and 6 by normal mapping. I don't know though, it's hard to tell without holding one in real life how extruded those attachment bumps are. For each ridge that's 5 more poly's, and 10 more tri's that he would add on to the polycount. With both the top and bottom ridges made, that's adding close to 200 poly's (400 tri's).
It's not a big deal though. Depending on a wide variety of factors, you might just be better off modeling the ridges instead of doing a normal map. It's not like 200 poly's would kill anything.
It's up to you, the modeler to make tough calls like this. Do I add poly's for detail? Or can the detail be faked somehow?
EDIT:
These pics might help you make the decision:
Here you can see that the ridges are indeed extruded pretty far. If this was going to be done for a game that I was creating, I would probably go ahead and extrude them.
However, look at this model. The ammo clip is without a doubt normal mapped, as is a good 90% of the gun model. It looks like they extruded theirs too, at least along the top. I'm not sure about the side ridges near the front though. Tough call.
It also looks like they are making good use of the extra detail they put in by making sure their are some attachments to the rifle. If you are going to make attachments for your gun, don't bother with extruding those particular ridges unless your going to animate the attachment being taken off.
"If I have seen a little further it is by standing on the shoulders of Giants" - Isaac Newton
-Computer Animation Major @Baker.edu-