Warrington edge out St Helens 20-12 to reach the Betfred Challenge Cup semi-finals in a pulsating clash at The Halliwell Jones Stadium.