Newcastle United defender Lewis Hall signs a new contract with the club that runs until 2031.