After more than a decade of public feuding and false starts, Tyson Fury and Anthony Joshua will fight at Cardiff's Principality Stadium on 11 December.