Sebastian Vettel made history by completing the London Marathon in under three hours, raising funds for charity.