This is a throwback to Old English. The “f” would be pronounced like a “v” if it was between two vowels.
For example, the word for heaven was *heofon* and would have been pronounced something like “hayovon” (Sorry, no IPA).
Here’s some information from an [article on English plurals](http://en.wikipedia.org/wiki/English_plural)
(copied from stack exchange)
Latest Answers