Walsall score a dramatic 97th-minute equaliser before beating nine-man Reading on penalties to make it through the EFL Trophy last-16 with Birmingham City and Wrexham among the other winners.