Maximum matchings in sparse random graphs: Karp-Sipser revisited