@Synapse,
Evolution is not about being selfish *at all*. Evolution rewards any behavior that is *succesful*, whether that behavior is selfish or not. When I kill a fish to eat it, I'm not cooperating with the fish, I'm killing it to eat it and affirming my position on top of the food chain.
However, if I go out fishing with my buddy, and instead of sharing my caught fish with him I throw him overboard, eat the fish, and turn back home, then beside the fact that some critical questions will be asked back at home, I will have killed off a lot of genes that look quite a lot like mine.
The fact that human behavior involves large scale cooperation and altruism that advances all people involved in these cooperations a little bit does not in the slightest refute, or change the theory of evolution. It simply means that in finding a balance between selfish "this fish is mine" behavior and altruistic "this fish is ours" behavior, we possibly tended to one of either side.