Self-incompatibility: theoretical concepts and evolution