I like to think of "звонить" as calling to someone, which would require dative, since the person you are calling is the indirect object.
In fact, my problem here is to translate the sentence in my native (Turkish) language, which we use the verb 《звонить, to call》 in accusative case :) Though, 10 months past, I am already used to it..
Well, it work the same in English.
On the other hand, in English you listen to something or someone. In Russian, "слушать" is not any different than "hear" or "see".
Well.. every language has differences. "Listen to" works different in english, 《слушать》 is easy to grasp for my native ears :)
Itcan, in theory, be perfective here but using imperfective is more natural. We can assume that one or several people might call you, at arbitrary moments of time (within the period labeled "yesterday"), which are probably not as important when you ask who these people were.
When actions in the past are referred to as facts of something either happening or not, while the exact moments at which the events occurred are irrelevant (as are the "results"), we normally use imperfective forms. Perfective forms in this context are associated with the action being specific and expected to have been performed.
Imperfective verbs being used for a number of purposes is one of the more difficult parts of Russian for a learner. The perfective aspect has a rather well-defined interpretation whereas the imperfective aspect is an amalgamation of a number or different meanings.
Presumably, one answer could be "nobody".
In American English, if there's a strong likelihood that at least one person called, we'd usually ask "Who called me yesterday?" The question presumes that calls were received, so that "nobody" would be a surprise answer.
If we were unsure about calls, we'd more likely ask, "Did anyone call yesterday", although there's certainly some overlap.
Am I correct in thinking that this is meant specifically to say "Who called me (on the phone) yesterday?"
With the caveat (see Shady-Arc's comment above) that "who" could be one or more people at one or more unknown times during the day, which is why imperfective aspect is used for the verb.
Could this also be translated as "Кто мне вчера звонила?" I am trying to figure out why "кто" is being referred to with the masculine form of the verb instead of, say, the neuter?
It could not. Кто behaves as 3rd person singular masculine even if you know for a fact there were multiple persons and they were all women.
I assume that applies to all declensions of кто? - it's masculine singular no matter what case it is in?
who telephoned me yesterday - should be accepted, not everyone contracts words
shouldn't this be позвонил? it should be "Who was calling me yesterday" as opposed to "who called me yesterday" if the word they want is звонил