Arsenal overturned their first-leg deficit, survived a grueling 120 minutes and beat Porto in a penalty shootout.