Newcastle United have won their first domestic trophy in 70 years after beating Liverpool 2-1 in the Carabao Cup.