Anthony Joshua’s much-anticipated fight against Dillian Whyte has been cancelled after Whyte failed a drugs test.