On -나, we need to distinguish at least two different types of situation.
In type I, it is used between two equals.
A: 가 보았나?
B: 난 아직 못 가 보았네. A군, 자네는 가 보았나?
You see this type of use in the movies set against the sixties (perhaps) or earlier. It gives you the sense that both men are on terms of equality and mutual respect. (This does not contradict the other answer's characterization of -나 as 'moderately impolite.' There, 'polite' or 'impolite' is a grammatical term. I am using 'respect' in its ordinary sense.) Women are rarely seen talking this way even in the movies.
In type II, it is one way only.
Father-in-law (professor): 가 보았나?
Son-in-law (graduate student): 아니요. 아버님은 (교수님은) 가 보셨습니까?
This kind of talk is still common. Also women use it too, for example, a mother-in-law to her son-in-law (though not to a daughter-in-law).
Please note that I am not saying that -나 has two different senses or two different levels of 'impoliteness.' There is the same level of 'moderation of impoliteness,' as it were. The difference lies in the direction (bi- or unilateral).
If a young man today addressed a same-age friend in -나, then the addressee would be rather confused because neither type I nor II applies readily. (They are not in a movies from the sixtiesmovie, and the speaker is not an elder.)
-냐 and -니 imply total familiarity (again, not a grammatical term). You will use it to your childhood friends or a child or animal.
Notice that children who speak 'impolite' speech to their parents or grandparents will still stay clear of -냐 and -니 in addressing them.
-느냐 often (though not always) implies not only total familiarity but also assertion of authority or even contempt. In the movies, domestic servants, subordinates in the military, and captured criminals will be addressed this way.
-는가 as used in a question would seem to me equivalent to (in-나 in terms of 'moodrespect. That is to say,' a grammatical term) approximates certain uses of the subjunctive whenever you could use -나, whether in type I or optativeII, you could also use -는가, and vice versa. In fact, I cannot distinguish between these two in European languagesany respect:
(1) 자네 조간신문을 보나?
(2) 자네 조간신문을 보는가?
In some other context, -는가 may have a poetic tone not shared by -나. (For instance,'이 땅에도 봄은 오는가' quoted in the other answer.)