(i) The older sense of classical Latin pāgānus is "of the country, rustic" (also as noun). It has been argued that the transferred use reflects the fact that the ancient idolatry lingered on in the rural villages and hamlets after Christianity had been accepted in the towns and cities of the Roman Empire; cf. Orosius Histories 1. Prol. "Ex locorum agrestium compitis et pagis pagani vocantur." From its earliest beginnings, Christianity spread much more quickly in major urban areas (like Antioch, Alexandria, Corinth, Rome) than in the countryside (in fact, the early church was almost entirely urban), and soon the word for "country dweller" became synonymous with someone who was "not a Christian," giving rise to the modern meaning of "Pagan." This may, in part, have had to do with the closeness to nature of rural people, who may have been more resistant to the new ideas of Christianity than those who lived in major urban centers and were cut off from the cycles of nature and the forms of spirituality associated with them. However, it may have also resulted from early Christian missionaries focusing their efforts within major population centers (e.g., St. Paul), rather than throughout an expansive, yet sparsely populated, countryside (hence, the Latin term suggesting "uneducated country folk") until a bit later on.
(ii) The more common meaning of classical Latin pāgānus is "civilian, non-militant" (adjective and noun). Christians called themselves mīlitēs, "enrolled soldiers" of Christ, members of his militant church, and applied to non-Christians the term applied by soldiers to all who were "not enrolled in the army".
(iii) The sense "heathen" arose from an interpretation of paganus as denoting a person who was outside a particular group or community, hence "not of the city" or "rural"; cf. Orosius Histories 1. Prol. "ui alieni a civitate dei..pagani vocantur." See C. Mohrmann, Vigiliae Christianae 6 (1952) 9ff.