Jon Nolan scored a stunner to give Shrewsbury the advantage over Charlton in their League One play-off semi-final.