Riyad Mahrez strike sinks Nigeria and puts Algeria in Afcon final