Here's my hypothesis based on different unrelated facts I've read over the past year.
Evolution of morality is not difficult to explain. Firstly you must think of the word "fittest" differently, it's really quite an inappropriate word. Try some of these instead
1: Best suited to the environment - For changes to the environment around you. Actually it's more like "Death of the least suited to the environment"
2: Most successful - This could be due to biological behaviour or to learned social behaviour.
3: Most attractive - When creatures are very successful they can survive despite being more visually prominent, this makes it easier for mates to identify them resulting in things like prominent peacock tails.
Now on to morality
Mother fish which care for their eggs are more successful than those who do not, so the quirk in the brain which made the mother fish stay and defend her eggs proved to be better suited to survive and became more prevalent. Now think of the father, if it stays around to look after the eggs as the mother does (also observed in nature) then the eggs will be more successful again. If the father also defends the female then it increases their survival chances even more because they are a united force.
What we have now is one fish willing to risk its life trying to save another with no common DNA. Whatever chemical reaction occurs in its brain to cause this is making the fish appear to act in what could be seen as an altruistic manner, however it is actually protecting it's own DNA which has already been passed on in the form of the eggs they are protecting. In protecting the mother it is indirectly protecting its offspring.
Now move on to animals looking after their offspring after they are born, these are more successful too. One side affect of having less predators is that fish ovulate less frequently and have fewer offspring in each batch (in an experiment on Guppie fish at least). Instead of playing the numbers game it is possible a brain mutation could have caused low-risk animals to stay with their offspring causing them higher survival rates.
So there are 2 examples of animals grouping together, but obviously attacking their own offspring (which would have happened) would be less successful, protecting them helped with success.
There are a number of ways to explain how animals started to live in groups. For example, pirhanas which attacked each other were more likely to die (even if you win you might die) but those which attacked non dangerous prey were more likely to live, so if there is no shortage in food they do not need to attack each other to eat. They may even reach a point where they share larger food ("share" simply being the absence of challenging for the food.) Or in harder times one pirhana might attack a prey too large out of desperation and another pirhana out of desperation joins in. I am sure you can think of more, but in short some species found that cooperation is more successful.
Now what happens when you get the same "father mutation" in a group? You will find that a group in your society are willing to defend the minority making the minority more likely to live. This is group survival. You are risking your life to save DNA that is not yours, but in exchange others do the same increasing the survival rate of your own DNA. The benefit is greater than the cost.
Pirhana don't kill each other even during a feeding frensy.
Some parents will die protecting their young.
Some fathers will die protecting their mate, who will protect theair offspring.
Groups will help each other in order to protect themself and their offspring.
Protecting in groups is simply a variation of hunting in groups. From there we see morality, it would be seen as "immoral" for a mother fish to throw her fertilised eggs at a predator just to save herself but moral for a father to save the mother of its children. Both are survival instincts, both would work, but different approaches worked for different species. It's perfectly moral for a mother rat to eat her own babies if threatened by a predator because she can use the food to survive and pass on her DNA at a later date. Humans aren't unique in having morality, it's just that our morality is unique, but so is the "morality" (default biological behaviour) of other species.
Morality is just group survival, but onto the issue of rape. The male's desire to impregnate females is more successful if stronger. However the woman's desire to pick only the strongest mate is also strong because she has to dedicate at least 1 year from impregnation to raise a successful baby. Human women don't show visual signs of when they are ready to be fertilised, so partners which stayed around and had sex more often were more successful at impregnating females. Staying around also helped the offspring to survive due to the father bringing food and protecting them, it also lets the offspring have a longer childhood which results in better social development and as a consequence better group survival.
Females are more likely to reject "wham bam" males because they are not suitable as mates that stay around and help to raise their children, therefore the females that feared rape (unlike the rest of the animal kingdom) would possibly fight back, scream etc and try to keep them off. I'd expect in the case of humans the group survival might would kick in and someone seeing a group member in distress would trigger a defence response from her peers and she'd be saved the ordeal. Therefore rape is wrong, and people who do not control their urge to impregnate women get ostracised by the community which can affectively be a death sentence.