James Tarkowski signs new long-term Burnley contract